// // NSString+NIM.m // NIMKit // // Created by chris. // Copyright (c) 2015年 NetEase. All rights reserved. // #import "NSString+NIMKit.h" #import @implementation NSString (NIMKit) - (CGSize)nim_stringSizeWithFont:(UIFont *)font{ return [self sizeWithAttributes:@{NSFontAttributeName:font}]; } - (NSString *)nim_MD5String { const char *cstr = [self UTF8String]; unsigned char result[16]; CC_MD5(cstr, (CC_LONG)strlen(cstr), result); return [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] ]; } - (NSUInteger)nim_getBytesLength { NSStringEncoding enc = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000); return [self lengthOfBytesUsingEncoding:enc]; } - (NSString *)nim_stringByDeletingPictureResolution{ NSString *doubleResolution = @"@2x"; NSString *tribleResolution = @"@3x"; NSString *fileName = self.stringByDeletingPathExtension; NSString *res = [self copy]; if ([fileName hasSuffix:doubleResolution] || [fileName hasSuffix:tribleResolution]) { res = [fileName substringToIndex:fileName.length - 3]; if (self.pathExtension.length) { res = [res stringByAppendingPathExtension:self.pathExtension]; } } return res; } - (UIColor *)nim_hexToColor { unsigned rgbValue = 0; NSScanner *scanner = [NSScanner scannerWithString:self]; //去掉# [scanner setScanLocation:1]; [scanner scanHexInt:&rgbValue]; return [UIColor colorWithRed:((rgbValue & 0xFF0000) >> 16)/255.0 green:((rgbValue & 0xFF00) >> 8)/255.0 blue:(rgbValue & 0xFF)/255.0 alpha:1.0]; } @end