glu*_*z78 1 iphone wchar-t nsstring
我正在使用stringWithFormat @"%ls"来做它,我只看到第一个字符被复制,这让我觉得它仍然假设它是一个单字节字符.
有任何想法吗?
使用initWithBytes:length:encoding.你必须知道使用的编码wchar_t,我相信它是Apple平台上的UTF-32.
#if defined(__BIG_ENDIAN__)
# define WCHAR_ENCODING NSUTF32BigEndianStringEncoding
#elif defined(__LITTLE_ENDIAN__)
# define WCHAR_ENCODING NSUTF32LittleEndianStringEncoding
#endif
[[NSString alloc] initWithBytes:mystring
length:(mylength * 4) encoding:WCHAR_ENCODING]
Run Code Online (Sandbox Code Playgroud)
一般来说,我建议尽量避免使用wchar_t,因为它不是很便携.特别是,你应该如何找出它使用的编码?(在Windows上,它是UTF-16LE或UTF-16BE,在OS X,Linux和iOS上,它是UTF-32LE或UTF-32BE).
| 归档时间: |
|
| 查看次数: |
4626 次 |
| 最近记录: |