iOS NSString utf-8 Unicode互转
2015-09-17 19:28
218 查看
转自网友,收集起来,方便有需要的人。
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
{
[sappendFormat:@"\\u%x",[stringcharacterAtIndex:i]];
}
}
return s;
}
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
{
[sappendFormat:@"\\u%x",[stringcharacterAtIndex:i]];
}
}
return s;
}
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"];
}
相关文章推荐
- iOS中的串行,并行,分组,一次,障碍,延迟,反复执行(GCD)
- 蓝懿iOS培训日志15 tableView和自定义Cell(1)
- iOS 9, Xcode 7,免费使用真机测试
- iOS中的动画
- iOS简单的数据持久化
- iOS的沙盒机制
- iOS - 邮件 短信 通讯录
- iOS提示框,为什么你应该使用 MBProgressHUD?
- iOS提示框,为什么你应该使用 MBProgressHUD?
- iOS - 数据持久化 - 文件的写入(简单对象和复杂对象)
- iOS上的ReactiveCocoa响应式编程
- iOS 去除tableview的黏性
- iOS中Bitcode的介绍及配置
- 用CocoaPods做iOS程序的依赖管理(转载)
- idfa还是idfv,IOS唯一标示利弊分析
- iOS开展block说明
- iOS9适配技巧
- ubuntu 启动项创建器 选择不了CD镜像,IOS镜像的解决方法
- IOS 证书配置
- iOS9新特性