ios html 编码转换,IOS中编码转换方法(转)

IOS开发中编码转换方法是本文要介绍的内容,主要是来学习一下编码转换的内容,不多说,直接来看详细内容。我们可以使用以下方法进行编码转换。NSString*str2= [NSString stringWithCString:str1 encoding:enc1];

再调用NSString的cStringUsingEncoding:enc2实现从enc1到enc2的转换

但是获取enc枚举值是个难题

1、NSString.h中只定义了以下编码值enum {

NSASCIIStringEncoding=1,

NSNEXTSTEPStringEncoding=2,

NSJapaneseEUCStringEncoding=3,

NSUTF8StringEncoding=4,

NSISOLatin1StringEncoding=5,

NSSymbolStringEncoding=6,

NSNonLossyASCIIStringEncoding=7,

NSShiftJISStringEncoding=8,

NSISOLatin2StringEncoding=9,

NSUnicodeStringEncoding=10,

NSWindowsCP1251StringEncoding=11,

NSWindowsCP1252StringEncoding= 12,

NSWindowsCP1253StringEncoding=13,

NSWindowsCP1254StringEncoding=14,

NSWindowsCP1250StringEncoding=15,

NSISO2022JPStringEncoding=21,

NSMacOSRomanStringEncoding=30,

NSUTF16StringEncoding=NSUnicodeStringEncoding,

#if MAC_OS_X_VERSION_10_4<= MAC_OS_X_VERSION_MAX_ALLOWED || __IPHONE_2_0<= __IPHONE_OS_VERSION_MAX_ALLOWED

NSUTF16BigEndianStringEncoding=0x90000100,

NSUTF16LittleEndianStringEncoding=0x94000100,

NSUTF32StringEncoding=0x8c000100,

NSUTF32BigEndianStringEncoding=0x98000100,

NSUTF32LittleEndianStringEncoding=0x9c000100

#endif

};

难道iphone中中文还不支持?不会吧?

2、iphone中肯定是支持中文的,只是NSString中没有定义这个枚举值,我们可以通过两种方法获得这个枚举值,第一个方法是通过CFStringConvertEncodingToNSStringEncoding比如:NSStringEncodingenc=CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000);

NSString*str2= [NSString stringWithCString:str1 encoding:enc];

全部的kCFStringEncoding定义参考CFStringEncodingExt.h另外CFStringConvertIANACharSetNameToEncoding也很有用

3. 另外一种方法是通过const NSStringEncoding *encodings= [NSString availableStringEncodings];

NSMutableString *str= [[NSMutableString alloc] init];

NSStringEncoding encoding;

while ((encoding= *encodings++) != 0)

{

[str appendFormat: @"%@ === %in", [NSString localizedNameOfStringEncoding:encoding], encoding];

}

然后打印str数组,你就可以知道每一个encoding的枚举值为多少了,比如中文的为-2147482063

小结:深度解析IOS开发中编码转换方法的内容介绍完了,希望通过本文的学习能对你有所帮助!

原文:http://mobile.51cto.com/iphone-283494.htm

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值