ISO8859-1 转 Unicode IOS 的
来源:互联网 发布:淘宝淘气值1000是多钱 编辑:程序博客网 时间:2024/05/16 08:49
在使用 GDataXMLDocument 拼装XML 时,里面有汉字 转换为字符串时,汉字会变成"临" 这边编码, 经查阅资料 这就是ISO8859-1编码 扩展的ASCII编码。下面的方法就是讲这种单纯的编码转换成Unicode编码 ,此方法也是查阅的网上的 稍作修改。 具体转码算法 请自行查阅。
+(NSString *) changeISO88591StringToUnicodeString:(NSString *)iso88591String
{
NSMutableString *srcString = [[NSMutableStringalloc]initWithString:iso88591String];
[srcString replaceOccurrencesOfString:@"&"withString:@"&"options:NSLiteralSearch range:NSMakeRange(0, [srcStringlength])];
[srcString replaceOccurrencesOfString:@"&#x"withString:@""options:NSLiteralSearch range:NSMakeRange(0, [srcStringlength])];
NSMutableString *desString = [[NSMutableStringalloc]init] ;
NSArray *arr = [srcStringcomponentsSeparatedByString:@";"];
for(int i=0;i<[arrcount]-1;i++){
NSString *v = [arr objectAtIndex:i];
char *c = malloc(3);
int value = [selfchangeHexStringToDec:v];
c[1] = value &0x00FF;
c[0] = value >>8 &0x00FF;
c[2] = '\0';
[desString appendString:[NSStringstringWithCString:c encoding:NSUnicodeStringEncoding]];
free(c);
}
return desString;
}
+(int) changeHexStringToDec:(NSString *)strHex
{
int hexLength = [strHex length];
int ref = 0;
for (int j = 0,i = hexLength -1; i >= 0 ;i-- )
{
char a = [strHex characterAtIndex:i];
if (a == 'A') {
ref += 10*pow(16,j);
}
else if(a =='B'){
ref += 11*pow(16,j);
}
else if(a =='C'){
ref += 12*pow(16,j);
}
else if(a =='D'){
ref += 13*pow(16,j);
}
else if(a =='E'){
ref += 14*pow(16,j);
}
else if(a =='F'){
ref += 15*pow(16,j);
}
else if(a =='0')
{
ref += 0;
}
else if(a =='1')
{
ref += 1*pow(16,j);
}
else if(a =='2')
{
ref += 2*pow(16,j);
}
else if(a =='3')
{
ref += 3*pow(16,j);
}
else if(a =='4')
{
ref += 4*pow(16,j);
}
else if(a =='5')
{
ref += 5*pow(16,j);
}
else if(a =='6')
{
ref += 6*pow(16,j);
}
else if(a =='7')
{
ref += 7*pow(16,j);
}
else if(a =='8')
{
ref += 8*pow(16,j);
}
else if(a =='9')
{
ref += 9*pow(16,j);
}
j++;
}
return ref;
}
- ISO8859-1 转 Unicode IOS 的
- Unicode、UTF-8、ISO8859-1的区别
- Unicode、UTF-8 和 ISO8859-1的区别
- Unicode、UTF-8 和 ISO8859-1的区别
- iso8859-1 gb2312/gbk unicode utf-8
- GBK,UTF-8,ISO8859-1,unicode,base64
- Unicode、UTF-8 和 ISO8859-1到底有什么区别〈转〉Unicode、UTF-8 和 ISO8859-1到底有什么区别
- 编码问题,UTF,ISO8859-1,unicode,ACSii,GBK之间的区别
- Unicode、UTF-8 和 ISO8859-1到底有什么区别 [转]
- 字符编码ASCII、Unicode、UTF-8、iso8859-1、GBK、GB2312
- 搞懂ASCII, ISO8859-1, ANSI和Unicode
- Unicode、UTF-8 和 ISO8859-1到底有什么区别
- Unicode、UTF-8 和 ISO8859-1有什么区别?
- 编码 ASCII ISO8859-1 GB2312 GBK GB18030 UNICODE UTF
- Unicode、UTF-8 和 ISO8859-1 区别
- Unicode、UTF-8 和 ISO8859-1等编码方式
- 聊聊计算机中的编码(Unicode,GBK,ASCII,utf8,utf16,ISO8859-1等)以及乱码问题的解决办法
- 聊聊计算机中的编码(Unicode,GBK,ASCII,utf8,utf16,ISO8859-1等)以及乱码问题的解决办法
- 如何使用Python为Hadoop编写一个简单的MapReduce程序
- JVM中的cms是什么???
- 国密算法SM2证书制作
- iOS 6 禁用取消去掉UINavigationBar导航条的阴影
- 精通andoird4学习笔记-service
- ISO8859-1 转 Unicode IOS 的
- Excel 下拉框 三级联动
- R语言:中文分词和聚类
- 用PLSQL创建Oracle用户
- 邮件发送求职简历四大注意事项
- Microsoft Visual Studio 正忙
- 第11周项目2拓展--求4个数的最大公约数
- OCP-1Z0-053-V12.02-211题
- 【2013Esri中国用户大会】商业智能位置分析之Esri Maps for Cognos