如何将Chinese Html String转成NSString
How to convert Chinese Html String into NSString
为了将 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;
}
以上方法以正确的格式编码 英语 文本
但我想编码中文文本。
使用上述方法编码中文字符串时returns
我想要正确的中文编码。
您可以添加 NSCharacterEncodingDocumentAttribute:@(NSUTF8StringEncoding) 选项:
NSDictionary *options = @{NSDocumentTypeDocumentAttribute:NSHTMLTextDocumentType, NSCharacterEncodingDocumentAttribute:@(NSUTF8StringEncoding)};
希望它能奏效。
Swift版本:
let options: [NSAttributedString.DocumentReadingOptionKey: Any] = [
.documentType: NSAttributedString.DocumentType.html,
.characterEncoding: String.Encoding.utf8.rawValue
]
为了将 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;
}
以上方法以正确的格式编码 英语 文本
但我想编码中文文本。
使用上述方法编码中文字符串时returns
我想要正确的中文编码。
您可以添加 NSCharacterEncodingDocumentAttribute:@(NSUTF8StringEncoding) 选项:
NSDictionary *options = @{NSDocumentTypeDocumentAttribute:NSHTMLTextDocumentType, NSCharacterEncodingDocumentAttribute:@(NSUTF8StringEncoding)};
希望它能奏效。
Swift版本:
let options: [NSAttributedString.DocumentReadingOptionKey: Any] = [
.documentType: NSAttributedString.DocumentType.html,
.characterEncoding: String.Encoding.utf8.rawValue
]