信頼性の高い UTF-8 から ISO-8859-1 (Latin-1) 文字列変換
テキストを UTF-8 から ISO-8859-1 (Latin-1) に変換するのは難しい場合があります。 一見単純に見えますが、多くの開発者は問題に遭遇します。 よくある間違いは、変換試行の直後に Encoding.GetString()
を使用することです。 これが堅牢なソリューションです:
このアプローチにより、単純なバイト配列変換後に Encoding.GetString()
を直接使用することによる落とし穴が回避されます。 代わりに、エンコーディングの違いが適切に処理されるようにします。
Get UTF-8 Bytes: utf8.GetBytes(Message)
を使用して、入力文字列 (Message
) の UTF-8 バイト表現を取得します。
ISO-8859-1 バイトに変換: Encoding.Convert(utf8, iso, utfBytes)
を使用して、UTF-8 バイトを ISO-8859-1 バイトに変換します。 この手順は、潜在的な文字マッピングの問題を処理するために重要です。
ISO-8859-1 バイトをデコードします: 最後に、iso.GetString(isoBytes)
を使用して、結果の ISO-8859-1 バイトを文字列 (msg
) にデコードします。これにより、最終的な文字列がターゲット エンコーディングを使用して正しく解釈されるようになります。
これらの 3 つの手順に従うことで、UTF-8 文字列を ISO-8859-1 に変換するための信頼できる方法が提供され、文字列の直接デコードに関連する一般的なエラーが防止されます。
以上がUTF-8 文字列を ISO-8859-1 (Latin1) に確実に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。