`
lizaochengwen
  • 浏览: 666028 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

iPhone开发/iPad开发 中文乱码问题

 
阅读更多
wanxiao0822 2010-08-12 17:32

新手求助,急,nsstring ,中文乱码问题

本人新手,想将中文的nsstring转成cstring
直接上代码,例如:
NSString *plaintext=@"你好中国";
unsigned int  strLength=[plaintext  length];
NSLog(@"plain:%@",plaintext);
const char *textarray1=[plainText UTF8String];
const char *textarray2=[plainText cStringUsingEncoding:NSUTF8StringEncoding];
NSLog(@"textarray ::%s" , textarray1);
NSLog(@"textarray ::%s" , textarray2); 
   
 
  以上两种方法都用了,转化前正常,  转化后得到的textarray1和textarray2都是乱码
高手帮忙,在线等,谢了
-----------------------------------------
angelpig44 2010-08-12 17:45
char *testArray[128];
[plainText getChatacters:testArray];
-----------------------------------------
wanxiao0822 2010-08-12 20:04
感谢楼上的回复,不过好像不是我需要的,我有一个包含中文的字符串,想转换成char的C字符串,转换后的字符串不想有乱码,不知道可以采用什么方法?本人刚学习开发iPhone应用,请大家多指点
-----------------------------------------
quxiaodong19 2010-08-12 22:49
一定要轉成CString麼?

NSString *plaintext  =  [[NSString alloc] initWithUTF8String:@"你好中国"];

NSLog(@"plain:%@",plaintext);

這樣應該可以
-----------------------------------------
wanxiao0822 2010-08-13 09:29
必须的,因为要用Cstring,感谢回答
-----------------------------------------
yoyeayoyea      2010-08-13 09:59
const char *textarray2=[plainText cStringUsingEncoding:0x80000632];
-----------------------------------------
zhc_spark        2010-08-13 10:11
#define MAC_OS_Simplified_Chinese_Encode -2147482062
[ plaintext getCString:textArray maxLength:siezof(textArray)
                    encoding:MAC_OS_Simplified_Chinese_Encode];

这样得到的是C string.

NSString *plaintext=@"你好中国";
char testArray[128] = {0};

Chinese (GB 18030) === -2147482062
-----------------------------------------
wanxiao0822 2010-08-13 12:12
感谢各位的回答,学到了很多,不懂C是人生的一大悲哀呀,明天开始学C语言
分享到:
评论
2 楼 lizaochengwen 2015-07-23  
网络请求碰到的中文乱码使用encodeURL吧

- (NSString *)encodeURL
{
    CFStringRef escaped = CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault,
                                                                  (CFStringRef)self,
                                                                  NULL,
                                                                  (CFStringRef)@":/?#[]@!$ &'()*+,;=\"<>%{}|\\^~`",
                                                                  kCFStringEncodingUTF8);
   
    NSString *encodedString = (__bridge NSString *)escaped;
    CFRelease(escaped);
    return encodedString;
}
1 楼 hhb19900618 2015-03-17  
还是没弄懂怎么解决了中文乱码? 正确代码能重写贴出吗

相关推荐

    人月神话 iphone/ipad无乱码版

    针对iPhone和iPad用户遇到的PDF乱码问题,“人月神话 iPhone/iPad 无乱码版”的发布具有重要意义: - **用户体验提升**:确保了苹果设备用户能够无障碍地阅读《人月神话》,提高了阅读体验。 - **普及性增强**:...

    iPhone SDK 3开发指南

    1. iPhone SDK 3概述:iPhone SDK(Software Development Kit)是一系列软件开发工具的集合,旨在帮助开发者创建能在iPhone和iPad上运行的应用程序。iPhone SDK 3是苹果公司发布的一个重要版本,它引入了许多新功能...

    iphone开发教程(英文版)

    从给定的文件信息来看,虽然部分内容似乎是乱码,但我们可以根据标题、描述以及标签来提炼出关于iPhone开发教程的关键知识点。以下是对这些知识点的详细阐述: ### iPhone开发教程(英文版) #### 1. 入门基础 ...

    ZBar for iPhone 源码

    ZBar for iPhone 源码是一款专为iOS设备设计的开源库,主要用于...它解决了中文乱码问题,适应了全球化的需求,同时其开放源码的特性也鼓励了社区的持续改进和扩展,使得这款库在移动应用开发领域有着广泛的应用前景。

    iPad记事本代码完整版.zip

    虽然文件名列表中的"Ipad╝╟╩┬▒╛"看起来像是乱码或编码错误,通常在iOS开发项目中,我们可以期待看到如下的文件和文件夹: 1. **项目文件**(Project.xcodeproj):这是Xcode项目文件,包含了项目的配置、依赖...

    卡iPhone在线软件源码

    5. 设置编译目标:选择要编译的设备类型(iPhone或iPad)和iOS版本。 6. 了解项目结构:研究源码和资源文件,理解它们的功能。 7. 编译和运行:点击Xcode中的“运行”按钮,Xcode会编译代码并在模拟器或连接的设备上...

    jQuery Mobile中文手册

    2. **广泛的支持**:目前支持的主要移动平台包括苹果公司的iOS(iPhone、iPad、iPod Touch)、Android、BlackBerry OS 6.0、HP WebOS、Mozilla的Fennec和Opera Mobile等。未来计划支持更多的平台,如Windows Mobile...

    计算机科学与技术学习报告.pdf

    - Apple iOS:苹果公司为其移动设备开发的封闭源代码操作系统,用于iPhone、iPad等设备。 在构建知识点时,我将文本中出现的乱码和重复字节进行了忽略和修正,尽量还原了文档可能想要传达的信息。实际的知识点内容...

    ios的zbar支持64位

    “内部解决了扫码中文混乱”则暗示了之前版本可能存在的一个问题,即在扫描包含中文字符的二维码时,可能会出现乱码或者解码不正确的情况。这个问题在当前版本中已经得到修复,确保了ZBar能正确处理包含多种语言字符...

    iOS实现多语言

    确保所有的字符串文件使用UTF-8编码,并且正确处理各种语言的特殊字符,避免乱码问题。 9. **更新和维护** 随着应用的更新,可能需要添加新的文本或图片资源,或修改已有的本地化内容。及时同步和更新各个语言...

    jQuery_Mobile中文手册

    2. **广泛的平台支持**:支持多种主流移动平台,如iOS(iPhone、iPad、iPod Touch)、Android、BlackBerry OS 6.0、HP WebOS、Mozilla Fennec 和 Opera Mobile等。 3. **轻量级**:即使是Alpha版本的jQuery Mobile,...

    Objective-C中文教程

    - **定义**: Objective-C是一种通用、面向对象的编程语言,由Molly and Steve Jobs在20世纪80年代初开发,后被苹果公司采纳作为其操作系统Mac OS X及其设备(如iPhone、iPad等)的应用程序开发标准语言之一。...

    ios-asset-names:命名iOS资产的指南

    4. **Unicode兼容性**:避免使用可能导致乱码或解析问题的特殊字符。使用ASCII字符集进行命名,以确保跨平台和工具的兼容性。 5. **遵循Swift命名规范**:如果你的资源名称将在Swift代码中被引用,应遵循Swift的...

Global site tag (gtag.js) - Google Analytics