// // NSString+ex.m // test1107 // // Created by apple on 15/11/7./Users/apple/Desktop/jiaPei/jiaPei/NSString+ex.m // Copyright (c) 2015年 JCZ. All rights reserved. // #import "NSString+ex.h" #define xmlRetError @"ERROR:not found " @implementation NSString(ex) -(NSString* )getXlmRet { NSMutableString* mstr = [NSMutableString stringWithString:self]; NSRange substr = [mstr rangeOfString:@""]; NSRange substr2 = [mstr rangeOfString:@""]; if (substr.location == NSNotFound || substr2.location == NSNotFound) { return xmlRetError; } NSString *result = [mstr substringWithRange:NSMakeRange(substr.location + substr.length, substr2.location - substr.location - substr.length)]; return result; } -(NSString*)getCode{ if (![self getXlmRet]) { return nil; } NSDictionary* root = [self jsonObject]; return root[@"code"]; } -(id)jsonObject { NSString* ret = [self getXlmRet]; if (!ret) { return nil; } //options --dansonpro NSData* jsonData = [ret dataUsingEncoding:NSUTF8StringEncoding]; NSDictionary* json = [NSJSONSerialization JSONObjectWithData:jsonData options:0 error:nil]; return json; } - (NSString *)md5Encrypt { const char *cStr = [self UTF8String]; unsigned char result[16]; CC_MD5( cStr, (unsigned int)strlen(cStr), result ); NSString* str = [NSString stringWithFormat:@"%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X", result[0], result[1], result[2], result[3], result[4], result[5], result[6], result[7], result[8], result[9], result[10], result[11], result[12], result[13], result[14], result[15] ]; str = [self toLower:str]; return str; } -(NSString *)toLower:(NSString *)str { for (NSInteger i=0; i='A'&[str characterAtIndex:i]<='Z') { //A对应ASCII码的65 a对应ASCII码的97 //大写换小写 ASCII编码 --Danson char temp=[str characterAtIndex:i]+32; NSRange range=NSMakeRange(i, 1); str=[str stringByReplacingCharactersInRange:range withString:[NSString stringWithFormat:@"%c",temp]]; } } return str; } -(NSString *)toHighterWithLower:(NSString *)str { for (NSInteger i=0; i='a'&[str characterAtIndex:i]<='z') { //A对应ASCII码的65 a对应ASCII码的97 //小写换大写 ASCII编码 --Danson char temp=[str characterAtIndex:i]-32; NSRange range=NSMakeRange(i, 1); str=[str stringByReplacingCharactersInRange:range withString:[NSString stringWithFormat:@"%c",temp]]; } } return str; } -(CGFloat)heightForWid:(CGFloat)wid Font:(CGFloat)fontSize { if (self.length < 1) { return 20.0; } return [self boundingRectWithSize:CGSizeMake(wid, MAXFLOAT) options:NSStringDrawingUsesLineFragmentOrigin|NSStringDrawingUsesFontLeading attributes:@{NSFontAttributeName: [UIFont scaleSize:fontSize]} context:nil].size.height; } -(CGSize)sizeForFont:(CGFloat)fontSize { if (self.length < 1) { return CGSizeMake(20, 20); } return [self boundingRectWithSize:CGSizeMake(MAXFLOAT, 20) options:NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading attributes:@{NSFontAttributeName: [UIFont scaleSize:fontSize]} context:nil].size; } -(NSString*)base64 { NSString* path = [[NSBundle mainBundle] pathForResource:self ofType:nil]; UIImage *_originImage = [UIImage imageNamed:path]; NSData *_data = UIImagePNGRepresentation(_originImage); NSString *_encodedImageStr = [_data base64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength]; return _encodedImageStr; } /** Base64字符串转UIImage图片:、 //UIImage图片转成Base64字符串: UIImage *originImage = [UIImage imageNamed:@"originImage.png"]; NSData *data = UIImageJPEGRepresentation(originImage, 1.0f); NSString *encodedImageStr = [data base64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength]; //Base64字符串转UIImage图片: NSData *decodedImageData = [[NSData alloc] initWithBase64EncodedString:encodedImageStr options:NSDataBase64DecodingIgnoreUnknownCharacters]; UIImage *decodedImage = [UIImage imageWithData:decodedImageData]; */ @end @implementation NSDictionary (Log) - (NSString *)descriptionWithLocale:(id)locale { NSMutableString *str = [NSMutableString string]; [str appendString:@"{\n"]; //遍历字典的所有键值对 [self enumerateKeysAndObjectsUsingBlock:^(id key,id obj, BOOL *stop) { [str appendFormat:@"\t%@ = %@,\n", key, obj]; }]; [str appendString:@"}"]; //查出最后一个,的范围 NSRange range = [str rangeOfString:@","options:NSBackwardsSearch]; if (range.length) { // 删掉最后一个, [str deleteCharactersInRange:range]; } return str; } @end @implementation NSArray (Log) - (NSString *)descriptionWithLocale:(id)locale { NSMutableString *str = [NSMutableString string]; [str appendString:@"[\n"]; //遍历数组的所有元素 [self enumerateObjectsUsingBlock:^(id obj,NSUInteger idx, BOOL *stop) { [str appendFormat:@"%@,\n", obj]; }]; [str appendString:@"]"]; //查出最后一个,的范围 NSRange range = [str rangeOfString:@","options:NSBackwardsSearch]; if (range.length) { // 删掉最后一个, [str deleteCharactersInRange:range]; } return str; } @end