1. ホーム
  2. iphone

[解決済み] Objective-C / Cocoa TouchでのHTML文字デコード

2022-11-09 12:56:01

質問

まず、これを見つけました。 Objective C の HTML エスケープ/unescape というのがありますが、私の場合はうまくいきません。

私のエンコードされた文字(RSSフィードから来たものです、btw)は次のようになります。 &

私はネット上を検索し、関連する議論を見つけましたが、私の特定のエンコーディングのための修正はありません、私は、それらが16進文字と呼ばれていると思います。

どのように解決するのですか?

これらは 文字実体参照 . のような形式をとる場合 &#<number>; と呼ばれます。 数値実体参照 . 基本的には、置換されるべきバイトを文字列で表現したものです。 の場合は &#038; の場合、これは ISO-8859-1 文字エンコーディングのスキームで 38 という値を持つ文字を表し、次のようになります。 & .

アンパサンドがRSSでエンコードされなければならない理由は、予約された特殊文字であるためです。

必要なことは、文字列をパースし、エンティティを &#; . 客観的なCでこれを行う素晴らしい方法を私は知りませんが このスタックオーバーフローの質問 は何らかの助けになるかもしれません。

Edit: 2年前にこの質問に答えて以来、いくつかの素晴らしい解決策があります。