// // NSString+PBCategory.m // ProBIM // // Created by zjf on 2017/10/19. // Copyright © 2017年 ProBIM. All rights reserved. // #import "NSString+PBCategory.h" #import @implementation NSString (PBCategory) + (NSString *)convertToJson:(NSDictionary *)dict { NSError *parseError = nil; NSData *jsonData = [NSJSONSerialization dataWithJSONObject:dict options:NSJSONWritingPrettyPrinted error:&parseError]; return [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding]; } + (NSString *)arrConvertToJson:(NSArray *)arr { NSError *error = nil; NSData *jsonData = [NSJSONSerialization dataWithJSONObject:arr options:NSJSONWritingPrettyPrinted error:&error]; NSString *jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding]; return jsonString; } + (id)convertTodictionaryOrArr:(NSString *)jsonStr { if (jsonStr == nil || [jsonStr isEqualToString:@""]) { return nil; } NSData *jsonData = [jsonStr dataUsingEncoding:NSUTF8StringEncoding]; NSError *error = nil; id jsonObject = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingAllowFragments error:nil]; if (jsonObject != nil && error == nil){ return jsonObject; }else{ // 解析错误 return nil; } } //+ (NSString *)getSandboxUserID { // NSArray *array = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); // NSString *documents = [array lastObject]; // NSString *documentPath = [documents stringByAppendingPathComponent:@"dic.plist"]; // NSDictionary *resultDic = [NSDictionary dictionaryWithContentsOfFile:documentPath]; // return [resultDic valueForKey:@"UserId"]; //} //+ (NSString *)getSandboxAccount { // NSArray *array = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); // NSString *documents = [array lastObject]; // NSString *documentPath = [documents stringByAppendingPathComponent:@"dictt.plist"]; // NSDictionary *resultDic = [NSDictionary dictionaryWithContentsOfFile:documentPath]; // return [resultDic valueForKey:@"Account"]; //} //+ (NSString *)getSandboxRealName { // NSArray *array = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); // NSString *documents = [array lastObject]; // NSString *documentPath = [documents stringByAppendingPathComponent:@"dict.plist"]; // NSDictionary *resultDic = [NSDictionary dictionaryWithContentsOfFile:documentPath]; // return [resultDic valueForKey:@"RealName"]; //} + (NSString *)getUniqueStrByUUID { CFUUIDRef uuidObj = CFUUIDCreate(nil);//create a new UUID NSString *uuidString = (__bridge_transfer NSString *)CFUUIDCreateString(nil, uuidObj); CFRelease(uuidObj); return uuidString ; } + (UIImage *)imageDecoding:(NSString *)str { //Base64字符串转UIImage图片: NSData *decodedImageData = [[NSData alloc] initWithBase64EncodedString:str options:NSDataBase64DecodingIgnoreUnknownCharacters]; UIImage *decodedImage = [UIImage imageWithData:decodedImageData]; return decodedImage; } + (NSString *)imagebase64:(UIImage *)image { NSData *data = UIImageJPEGRepresentation(image,0.5); NSString *encodedImageStr = [data base64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength]; return encodedImageStr; } + (NSString *)md5Encryption:(NSString *)str { const char *cStr = [str UTF8String]; unsigned char digest[CC_MD5_DIGEST_LENGTH]; CC_MD5( cStr, strlen(cStr), digest ); // This is the md5 call NSMutableString *output = [NSMutableString stringWithCapacity:CC_MD5_DIGEST_LENGTH * 2]; for(int i = 0; i < CC_MD5_DIGEST_LENGTH; i++) [output appendFormat:@"%02x", digest[i]]; return output; } +(NSDictionary *)getLoginData { NSArray *array = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *documents = [array lastObject]; NSString *documentPath = [documents stringByAppendingPathComponent:@"login.plist"]; NSDictionary *resultDic = [NSDictionary dictionaryWithContentsOfFile:documentPath]; return resultDic; } + (NSDictionary *)getApiData { NSArray *array = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *documents = [array lastObject]; NSString *documentPath = [documents stringByAppendingPathComponent:@"api.plist"]; NSDictionary *resultDic = [NSDictionary dictionaryWithContentsOfFile:documentPath]; return resultDic; } + (NSArray *)getApiArrData { NSArray *array = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *documents = [array lastObject]; NSString *documentPath = [documents stringByAppendingPathComponent:@"apiArr.plist"]; NSArray *arr = [NSArray arrayWithContentsOfFile:documentPath]; return arr; } + (NSString *)getToken { NSArray *array = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *documents = [array lastObject]; NSString *documentPath = [documents stringByAppendingPathComponent:@"token.plist"]; NSDictionary *resultDic = [NSDictionary dictionaryWithContentsOfFile:documentPath]; return [resultDic valueForKey:@"token"]; } + (NSDictionary *)getCodeIp { NSArray *array = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *documents = [array lastObject]; NSString *documentPath = [documents stringByAppendingPathComponent:@"code.plist"]; NSDictionary *resultDic = [NSDictionary dictionaryWithContentsOfFile:documentPath]; return resultDic; } +(NSString *)urlEncodeStr:(NSString *)input{ // NSString *charactersToEscape = @"?!@#$^&%*+,:;='\"`<>()[]{}/\\| "; // NSCharacterSet *allowedCharacters = [[NSCharacterSet characterSetWithCharactersInString:charactersToEscape] invertedSet]; // NSString *upSign = [input stringByAddingPercentEncodingWithAllowedCharacters:allowedCharacters]; // return upSign; NSString *encodedString = (NSString *) CFBridgingRelease(CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault, (CFStringRef)input, (CFStringRef)@"!$&'()*+,-./:;=?@_~%#[]", NULL, kCFStringEncodingUTF8)); return encodedString; } @end