OC Unicode和汉字(utf8)的互转
博客专区 > 冰泪_ 的博客 > 博客详情
OC Unicode和汉字(utf8)的互转
冰泪_ 发表于2年前
OC Unicode和汉字(utf8)的互转
  • 发表于 2年前
  • 阅读 812
  • 收藏 1
  • 点赞 2
  • 评论 0

标题:腾讯云 新注册用户域名抢购1元起>>>   

摘要: OC Unicode和汉字(utf8)的互转,

#pragma mark//Unicode转汉字   \u5f20\u4e09 → 张三
 - (NSString *)replaceUnicode:(NSString *)unicodeStr {
     //张三  \u5f20\u4e09
     
     NSString *tempStr1 = [unicodeStr stringByReplacingOccurrencesOfString:@"\\u" withString:@"\\U"];
     NSString *tempStr2 = [tempStr1 stringByReplacingOccurrencesOfString:@"\"" withString:@"\\\""];
     NSString *tempStr3 = [[@"\"" stringByAppendingString:tempStr2] stringByAppendingString:@"\""];
     NSData *tempData = [tempStr3 dataUsingEncoding:NSUTF8StringEncoding];
     NSString* returnStr = [NSPropertyListSerialization propertyListFromData:tempData
                                                            mutabilityOption:NSPropertyListImmutable
                                                                      format:NULL
                                                            errorDescription:NULL];
     
     //  NSLog(@"Output = %@", returnStr);
     return [returnStr stringByReplacingOccurrencesOfString:@"\\r\\n" withString:@"\n"];
 }
#pragma mark//汉字转 Unicode   张三 →  \u5f20\u4e09
 -(NSString *) utf8ToUnicode:(NSString *)string{
     
     NSUInteger length = [string length];
     NSMutableString *s = [NSMutableString stringWithCapacity:0];
     for (int i = 0;i < length; i++){
         unichar _char = [string characterAtIndex:i];
         //判断是否为英文和数字
         if (_char <= '9' && _char >='0'){
             [s appendFormat:@"%@",[string substringWithRange:NSMakeRange(i,1)]];
         }else if(_char >='a' && _char <= 'z'){
             [s appendFormat:@"%@",[string substringWithRange:NSMakeRange(i,1)]];
         }else if(_char >='A' && _char <= 'Z')
         {
             [s appendFormat:@"%@",[string substringWithRange:NSMakeRange(i,1)]];
         }else{
             [s appendFormat:@"\\u%x",[string characterAtIndex:i]];
         }
     }
     return s;
 }

共有 人打赏支持
粉丝 13
博文 64
码字总数 44592
×
冰泪_
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: