Unicode编码格式转换
来源:互联网 发布:令狐公子 知乎 编辑:程序博客网 时间:2024/06/13 18:20
1.Unicode转UTF-8
+ (NSString )encodeToPercentEscapeString: (NSString *) input
{
// Encode all the reserved characters, per RFC 3986 // (<http://www.ietf.org/rfc/rfc3986.txt>) NSString *outputStr = (NSString *) CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault, (CFStringRef)input, NULL, (CFStringRef)@"!*'();:@&=+$,/?%#[]", kCFStringEncodingUTF8); return outputStr;
}
+ (NSString )decodeFromPercentEscapeString: (NSString *) input
{
NSMutableString *outputStr = [NSMutableStringstringWithString:input]; [outputStr replaceOccurrencesOfString:@"+" withString:@" " options:NSLiteralSearch range:NSMakeRange(0, [outputStrlength])]; return [outputStrstringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
}
2.UTF-8和Unicode转化
//Unicode转UTF-8
+ (NSString) replaceUnicode:(NSString*)aUnicodeString
{
NSString *tempStr1 = [aUnicodeStringstringByReplacingOccurrencesOfString:@"\\u"withString:@"\\U"]; NSString *tempStr2 = [tempStr1stringByReplacingOccurrencesOfString:@"\""withString:@"\\\""]; NSString *tempStr3 = [[@"\""stringByAppendingString:tempStr2] stringByAppendingString:@"\""]; NSData *tempData = [tempStr3dataUsingEncoding:NSUTF8StringEncoding]; NSString* returnStr = [NSPropertyListSerializationpropertyListFromData:tempData mutabilityOption:NSPropertyListImmutable format:NULL errorDescription:NULL]; return [returnStrstringByReplacingOccurrencesOfString:@"\\r\\n"withString:@"\n"];
}
//UTF-8转Unicode
+(NSString ) utf8ToUnicode:(NSString *)string
{
NSUInteger length = [string length];NSMutableString *s = [NSMutableStringstringWithCapacity:0];for (int i = 0;i < length; i++){ unichar _char = [string characterAtIndex:i]; //判断是否为英文和数字 if (_char <= '9' && _char >='0') { [s appendFormat:@"%@",[stringsubstringWithRange:NSMakeRange(i,1)]]; } else if(_char >='a' && _char <= 'z') { [s appendFormat:@"%@",[stringsubstringWithRange:NSMakeRange(i,1)]]; } else if(_char >='A' && _char <= 'Z') { [s appendFormat:@"%@",[stringsubstringWithRange:NSMakeRange(i,1)]]; } else { [s appendFormat:@"\\u%x",[stringcharacterAtIndex:i]]; }}return s;
}
0 0
- Unicode编码格式转换
- 封装tinyxml实现对UTF8和UNICODE编码格式转换
- ANSI、UNICODE、UTF-8编码格式相互之间转换
- 字符串编码格式相互转换Unicode --UTF-8 -- GBK
- c++对编码格式ANSI utf8 unicode 进行转换
- unicode,ansi编码转换
- Unicode ASCII 编码转换
- 【转载】unicode编码转换
- native2ascii 转换Unicode编码
- unicode编码转换
- unicode编码转换
- Unicode编码转换工具
- js Unicode编码转换
- C# Unicode 编码转换
- Unicode编码转换工具
- unicode 编码转换工具
- gbk转换unicode编码
- unicode编码转换
- 正则表达式
- Spring3 整合MyBatis3 配置多数据源 动态选择SqlSessionFactory
- WinEdt 编辑器和 PDF 文件的 Acrobat 程序关联
- 使用Android Studo开发NDK之Gradle的配置(能debug C代码)
- 16Java语法回顾之System.in标准的输入输出流
- Unicode编码格式转换
- Android源码谜团
- 重拾编程之路--jeetcode(java)--Add Two Numbers
- Python 爬虫学习稿(二)
- sdoi最优图像image(网络流)
- OpenStack配置解析库oslo.config的使用方法
- Android ListView条目按钮点击状态混乱解决方案
- LeetCode Add and Search Word - Data structure design
- NSPathUtilities.h