【问题标题】:Encoding NSString containing 3 byte ASCII characters to a proper NSString将包含 3 字节 ASCII 字符的 NSString 编码为正确的 NSString
【发布时间】:2014-04-01 03:29:17
【问题描述】:

JSON 请求返回带有 HTML 编码的 Unicode 字符的字符串。

看起来像这样:valószínű 应该被解码为valószínű

换句话说,ű 应该是 ű

我在这里找到了关于非标准 HTML 字符列表的描述: http://www.starr.net/is/type/htmlcodes.html

有什么简单的方法可以解决这个问题吗?

【问题讨论】:

    标签: ios objective-c unicode nsstring unicode-string


    【解决方案1】:

    似乎该字符串已部分转义。如果您使用以下方法将“valószínű”编码为 NSData 对象:

    NSData * data = [@"valószínű" dataUsingEncoding:NSUTF8StringEncoding];

    然后使用

    创建一个属性字符串

    NSAttributedString * attrString = [[NSAttributedString alloc] initWithHTML:data documentAttributes:nil];

    “u”将被正确转换,但前面的标记会被破坏:

    导致

    valószÃnű

    另一种方法是查看以下帖子:

    iOS HTML Unicode to NSString?

    【讨论】:

    • 我会调查为什么 JSON 会像现在这样返回。
    猜你喜欢
    • 2011-09-23
    • 2013-04-11
    • 2011-12-28
    • 1970-01-01
    • 2015-10-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多