文档章节

OC Unicode和汉字(utf8)的互转

冰泪_
 冰泪_
发布于 2016/05/16 14:13
字数 172
阅读 998
收藏 1

#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;
 }

© 著作权归作者所有

共有 人打赏支持
冰泪_
粉丝 16
博文 83
码字总数 53258
作品 0
青浦
程序员
私信 提问
JavaScript: 详解Base64编码和解码

Base64是最常用的编码之一,比如开发中用于传递参数、现代浏览器中的<img />标签直接通过Base64字符串来渲染图片以及用于邮件中等等。Base64编码在RFC2045中定义,它被定义为:Base64内容传送...

陈亦
2014/02/19
0
27
Ansi、Unicode、UTF8等编码字符串之间的转换和写入文本文件(学习中……)

Ansi、Unicode、UTF8字符串之间的转换和写入文本文件 最近有人问我关于这个的问题,就此写一篇blog Ansi 字符串我们最熟悉,英文占一个字节,汉字2个字节,以一个/0结尾,常用于txt文本文件 ...

长平狐
2013/01/06
241
0
VC中Ansi、Unicode、UTF8字符串之间的转换和写入文本

VC中Ansi、Unicode、UTF8字符串之间的转换和写入文本 Ansi字符串我们最熟悉,英文占一个字节,汉字2个字节,以一个0结尾,常用于txt文本文件 Unicode字符串,每个字符(汉字、英文字母)都占2...

IMGTN
2012/11/13
0
0
字符编码:Unicode、UTF-8、GBK

原文站点:https://senitco.github.io/2017/06/06/character-encoding/   简单总结各种字符集(Ascii、Unicode、GB2312)、编码(UTF8、GBK)以及不同编码之间的转换。 字符集(Charcater Set)...

Zachary_Co
2017/12/13
0
0
Nginx、PCRE和中文URL(UTF8编码)rewrite路径重写匹配问题

最近遇到了使用Nginx 重写中文UTF8编码路径的问题。 才发现默认情况下Nginx的rewrite是不支持UTF8匹配的。 比如: rewrite ^/(..)$ /2个字符文章.html break; #用2个点 可以匹配到 /ab 或 /5...

福云
06/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

sql 开窗函数

开窗函数:在开窗函数出现之前存在着很多用 SQL 语句很难解决的问题,很多都要通过复杂的相关子查询或者存储过程来完成。为了解决这些问题,在 2003 年 ISO SQL 标准加入了开窗函数,开窗函数...

hblt-j
18分钟前
0
0
使用Vue动态生成form表单的实例代码

具有数据收集、校验和提交功能的表单生成器,包含复选框、单选框、输入框、下拉选择框等元素以及,省市区三级联动,时间选择,日期选择,颜色选择,文件/图片上传功能,支持事件扩展。 欢迎大家s...

嫣然丫丫丫
26分钟前
0
0
NEO区块链-DAPP开发直通车-第零篇

什么是DAPP DAPP 是以太坊发明的词汇 Decentralized Application. 目前基于区块链技术开发的应用程序广泛的接受使用了这一名称。 NEL将为开发DAPP提供全面的服务 什么是NEL NEL是 “NewEcon...

NEO-FANS
30分钟前
1
0
可视化软件VisIt在Ubuntu18.04上的安装

可视化软件VisIt在Ubuntu18.04上的安装 参考文档及使用说明 1.下载 在官网下载页面下载合适版本的安装文件,Ubuntu有专用的 https://wci.llnl.gov/simulation/computer-codes/visit/executa...

佚文
35分钟前
1
0
selenium之表格的定位

真的勇士, 敢于直面惨淡的warning、 敢于正视淋漓的error 目录 被测试网页的HTML代码 1.遍历表格所有单元格 2.定位表格中的某个元素 3.定位表格中的子元素 总结 浏览器网页常常会包含各类表...

程序猿拿Q
50分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部