私のNSString
には、アクセント付きの文字とhtmlタグがあります(<i></i>
など)。私はNSTextField
にそれらにテキスト属性を付けて表示したいと思います。私はattrStrを構築する場合NSMutableAttributedStringを使用してアクセント付き文字を表示する方法は?
、私が使用します。
NSMutableAttributedString *attrStr = [[NSMutableAttributedString alloc] initWithHTML:[text dataUsingEncoding:NSUTF8StringEncoding]
options:@{NSWebPreferencesDocumentOption : webPreferences}
documentAttributes:NULL];
私は次のようにテキストを表示:
someTextField.attributedStringValue = attrStr;
しかし、これは私がNSString
のエンコーディングを知っている必要はなく、問題があることです私はエンコーディングを知らない。では、エンコーディングを知らずに属性文字列を作成するにはどうすればよいですか?
まあ、それほど単純ではありません。 NSDataとして読み込んだ場合、NSDataを解析して特定の時間範囲の字幕文字列を抽出することはできません。しかし、文字列でファイルを読み込むために、私はエンコーディングを知る必要があります。たぶん、VLCのソースコードを見て、どうやってこれを行うのか見てみる必要があります。 VLCは、字幕テキストで使用されているエンコーディングに関係なく、字幕を正しくデコードしているようです。 – Kuro
簡単なDuckDuckGoの示唆SRTファイルのエンコーディングは定義されていませんが、VLCはこれを「非公式にUnicode」と表現していますが、ソースとしては助けになるかもしれません。あなたのための時間はいくつかの研究にかかります。いい狩猟! – CRD
VLCはすべてを正しくデコードしませんが、Mac Blu-Ray Playerは正しく動作します。 – Kuro