iPhone编码转换 ansi多字节编码到uicode的转换参数

本文分享了如何解决iPhone上的中文显示问题,包括系统设置语言的获取方法、使用不同编码进行字符转换的经验,并提供了用于解决中文乱码问题的实例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

http://www.cocoachina.com/bbs/read.php?tid-104-fpage-8-toread-1.html


ansi多字节编码到uicode的转换参数 :

(char* ansiStr)
可以这样来转换:
  const long gb30= 0x80000632;
  const long gbKK= 0x80000631;
  NSString* nsStr= [NSString stringWithCString:ansiStr encoding: gb30];

//方法二:待验证

CFStringConvertEncodingToNSStringEncoding( kCFStringEncodingGB_18030_2000 )

====================================================================

繁体encoding.有时候第一个encoding有些转不出来,要用第二个,名字是随意起的:
NSStringEncoding big5Encoding=0x80000A03;
NSStringEncoding big5Encoding_HK=0x80000A06;

============================================================================================================

分享经验:iphone的中文问题解决

有个dx分享了他的得到系统设置语言的方法,如下:
设置English,简体中文,繁体中文分别得到:en,zh-Hans,zh-Hant
NSUserDefaults* defs = [NSUserDefaults standardUserDefaults];
        NSArray* languages = [defs objectForKey:@"AppleLanguages"];
        NSString* preferredLang = [languages objectAtIndex:0];


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值