簡體   English   中英

如何將中文Html String轉成NSString

[英]How to convert Chinese Html String into NSString

為了將 html 字符串轉換為 NSString,我在下面使用 function

代碼片段:

+(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;
}

以上方法以正確的格式編碼英文文本

但是我想對中文文本進行編碼。

當使用上述方法對中文字符串進行編碼時,它返回

我想要中文文本的正確編碼。
在此處輸入圖像描述

您可以添加NSCharacterEncodingDocumentAttribute:@(NSUTF8StringEncoding)選項:

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

希望它能工作。

Swift 版本:

let options: [NSAttributedString.DocumentReadingOptionKey: Any] = [
    .documentType: NSAttributedString.DocumentType.html,
    .characterEncoding: String.Encoding.utf8.rawValue
]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM