iOS Unicode编码/解码
2019-05-28 本文已影响0人
Yo_Moon
//编码 (该方法编码了所有内容,包括字母和数字)
- (NSString *)encodeUnicode {
if (MONull(self)) {
return nil;
}
NSMutableString *string = [[NSMutableString alloc] init];
for (int i = 0; i < self.length; i++) {
unichar _char = [self characterAtIndex:i];
//不足4为左边补0,避免解码错误
NSString *str = [NSString stringWithFormat:@"%04x", _char];
[string appendFormat:@"\\u%@", str];
}
return string;
}
//解码
- (NSString *)decodeUnicode {
if (MONull(self)) {
return nil;
}
const char *charString = self.UTF8String;
NSData *data = [NSData dataWithBytes:charString length:strlen(charString)];
NSString *string = [[NSString alloc] initWithData:data encoding:NSNonLossyASCIIStringEncoding];
return string;
}