12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- //
- // NSString+NIM.m
- // NIMKit
- //
- // Created by chris.
- // Copyright (c) 2015年 NetEase. All rights reserved.
- //
- #import "NSString+NIMKit.h"
- #import <CommonCrypto/CommonDigest.h>
- @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
|