【问题标题】:Displaying non-roman characters in a string在字符串中显示非罗马字符
【发布时间】:2011-07-14 14:38:27
【问题描述】:

在我的应用程序中,我从远程主机收到如下字符串: "01 - \U00ab\U00d3\U00ba\U00d2\U00c2\U00b4\U00d5\U00b7\U00d5\U00e8\U00a4\U00d2\U00b9\U00b7\U00cd\U00a7 - \U00c8\U00d4\U00c3\U000d4\U0003 \U00d3\U00e4"

我知道这是一个泰语字符串。当我使用 NSLog 的 UILabel 显示它时,它显示为:

01 - «ÓºÒ´շÕè¤Ò¹·Í§ - ÈÔÃԾà ÍÓä

有没有办法让字符串使用泰语字体正确显示?

谢谢,

【问题讨论】:

  • 如何将此字符串转换为 NSString?
  • 我只是这样做:NSString *str = receivedString;

标签: iphone fonts nsstring utf8-decode


【解决方案1】:

你不应该使用类似的东西

+ (id)stringWithCString:(const char *)cString encoding:(NSStringEncoding)enc

如果您知道具体的编码是什么并且不是 UTF8,或者

+ (id)stringWithUTF8String:(const char *)bytes

如果是这样的话。然后应该显示字符串。我希望远程主机在响应中说明字符串的编码?

【讨论】:

  • 我尝试了以下方法,但它仍然显示我在上面的问题中显示的奇怪字符串:code const char *cstr = [receivedString UTF8String]; myString = [NSString stringWithUTF8String:cstr];
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-10
  • 2020-12-15
相关资源
最近更新 更多