NSString 常用的一些转码


得到mac os系统的所有字体编码在这篇文章里面 http://blog.csdn.net/ydj213/article/details/8296414

从 GBK 转到 UTF-8

用 NSStringEncoding enc = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000) ,然后就可以用initWithData:encoding来实现。

从 UTF-8 转到 GBK

CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000),得到的enc却是kCFStringEncodingInvalidId。

没关系,试试 NSData *data=[nsstring dataUsingEncoding:-2147482063];


txt主流编码有unicode(utf-8,utf16 big,utf16 little), ansi编码(gb2312等),另外起始字节要分有无bom,所以你得先根据每个编码的不同从头几个字节判断该文件为哪种编码,然后再用对应的解码去解。 unicode解码就不说了,ansi解码苹果也有对应的解码器,以下代码列出的5种就可以解码ansi的编码

case 1:
                            testString = [[NSString alloc]initWithData:_dataBuffer encoding:-2147482062];
                            break;
                        case 2:
                            testString = [[NSString alloc]initWithData:_dataBuffer encoding:-2147482063];
                            break;
                        case 3:
                            testString = [[NSString alloc]initWithData:_dataBuffer encoding:-2147481552];
                            break;
                        case 4:
                            testString = [[NSString alloc]initWithData:_dataBuffer encoding:-2147481296];
                            break;
                        case 5:
                            testString = [[NSString alloc]initWithData:_dataBuffer encoding:-2147481083];
                        default: 



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值