【问题标题】:How to encode ȭ into readable string?如何将 ȭ 编码为可读字符串?
【发布时间】:2015-04-15 09:33:18
【问题描述】:

我正在从 URL 获取文本数据,并且有一个特定字符似乎没有正确编码 -> ȭ

我知道那个字符是什么,所以我尝试手动将其编码为 utf-8,但 xcode 甚至无法识别该字符

NSLog(@"before: %@", brokenCharacter);
if([brokenCharacter isEqualToString: @"ȭ"]) brokenCharacter = @"A";
NSLog(@"after: %@", brokenCharacter);

我得到 NSLog 为:

before: ȭ
after: ȭ

这个问题有办法解决吗?

【问题讨论】:

  • 我无法重现这个。如果我添加NSString *brokenCharacter = @"ȭ";,上面的代码对我来说很好。您实际上是如何设置的?你确定传入的字符串实际上是 ȭ 吗?

标签: ios objective-c xcode encoding encode


【解决方案1】:

可以使用NSUTF16BigEndianStringEncoding作为编码参数

NSString *brokenCharacter = @"ȭ";
NSLog(@"before: %@", brokenCharacter);
NSData *dataCharacter = [brokenCharacter dataUsingEncoding:NSUTF16BigEndianStringEncoding];
brokenCharacter = [NSString stringWithUTF8String:[dataCharacter bytes]];
NSLog(@"after: %@", brokenCharacter);

【讨论】:

  • 我尝试了 dataUsingEncoding: 的所有选项,但没有正确解码那个字符.. 它吐出类似 /de?$... 所以我想我必须看看服务器 -边。我不知道为什么该服务器发送一个损坏的字符而其他所有数据都很好。不过谢谢你的回答。
猜你喜欢
  • 2014-09-20
  • 2023-03-03
  • 1970-01-01
  • 1970-01-01
  • 2012-12-20
  • 2011-09-24
  • 2016-04-05
  • 2021-10-16
  • 1970-01-01
相关资源
最近更新 更多