1.判断是否是空白字符串
+ (BOOL)isBlankString:(NSString *)string;
///判断是否是空白字符串
+ (BOOL)isBlankString:(NSString *)string
{
if (string == nil || string == NULL) {
return YES;
}
if ([string isKindOfClass:[NSNull class]]) {
return YES;
}
if ([[string stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]] length]==0) {
return YES;
}
return NO;
}
汉字转拼音
- (NSString *)letters;
- (NSString *)letters
{
NSMutableString *str = [self mutableCopy];
if (CFStringTransform ((CFMutableStringRef)str, NULL , kCFStringTransformMandarinLatin , NO )) {
}
if (CFStringTransform (( CFMutableStringRef )str, NULL , kCFStringTransformStripDiacritics , NO )){
}
return str;
}
汉字的第一个字的首字母
- (NSString *)firstCharacter;
- ( NSString *)firstCharacter
{
NSString *leters = [self.letters uppercaseString];
return leters.length?[leters substringToIndex:1]:nil;
}
md5加密
- (NSString *)md5Str;
- (NSString *)md5Str
{
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]
];
}
sha1加密
- (NSString *)sha1Str;
- (NSString *)sha1Str
{
const char *cstr = [self cStringUsingEncoding:NSUTF8StringEncoding];
NSData *data = [NSData dataWithBytes:cstr length:self.length];
uint8_t digest[CC_SHA1_DIGEST_LENGTH];
CC_SHA1(data.bytes, (CC_LONG)data.length, digest);
NSMutableString* output = [NSMutableString stringWithCapacity:CC_SHA1_DIGEST_LENGTH * 2];
for(int i = 0; i < CC_SHA1_DIGEST_LENGTH; i++)
[output appendFormat:@"%02x", digest[i]];
return output;
}