如何将中文Html字符串转换为NSString

时间:2016-09-21 11:30:38

标签: ios objective-c nsstring nsattributedstring html-encode

为了将html字符串转换为NSString,我正在使用下面的函数

代码段:

+(NSString *)getStringFromHtmlString:(NSString *)str
{

    NSData *stringData = [str dataUsingEncoding:NSUTF8StringEncoding];
    //NSHTMLTextDocumentType
    NSDictionary *options = @{NSDocumentTypeDocumentAttribute:NSHTMLTextDocumentType};

    NSAttributedString *decodedString;
    decodedString = [[NSAttributedString alloc] initWithData:stringData
                                                     options:options
                                          documentAttributes:NULL
                                                       error:NULL];


    return decodedString.string;
}

上述方法以正确的格式编码英语文本

但我想编码中文文字。

使用上述方法进行中文字符串编码时,返回

我想要正确编码中文文本 enter image description here

1 个答案:

答案 0 :(得分:3)

您可以添加NSCharacterEncodingDocumentAttribute:@(NSUTF8StringEncoding)选项:

NSDictionary *options = @{NSDocumentTypeDocumentAttribute:NSHTMLTextDocumentType, NSCharacterEncodingDocumentAttribute:@(NSUTF8StringEncoding)};

希望它能奏效。