c#
を使用して、ascii環境でユニコード文字列を処理します Ascii-I-Encoded文字列内でユニコード文字を維持することは、特定の状況では重要です。この記事では、ユニコード文字列を脱出したASCIIの同等物に変換し、C# 'S制限を克服する方法(例:πを「?」に変換)Encoding
エンコーディングチャレンジ
c# 'の組み込みクラスは、ASCII範囲(0-127)を超えたキャラクターを無効として扱い、それらを「?」に置き換えます。これは、ASCIIコンテキストでUnicode文字を保存することが必要な場合に問題があります。
Encoding
私たちのソリューションは、ASCII以外の文字を
形式を使用して逃げたASCII表現に置き換えます。 unicode文字を意味し、その後に16進コードポイントが続きます。これにより、ASCIIでエンコードされると、元のUnicode文字が保存されます。
uXXXX
u
非ascii文字をエンコード
エンコードプロセスは、入力文字列を介して反復します。 文字がASCIIの範囲を超えた場合、その逃げられた表現は。
に追加されます。StringBuilder
デコードは、逃げたUnicode文字
デコードプロセスは、正規表現を利用します。 識別されたユニコードシーケンス(
)を識別し、それらを対応するユニコード文字に変換します。Regex.Replace
実用的な例uXXXX
次のC#コードは、エンコーディングとデコードプロセスを示しています:
出力は次のとおりですこれは、Unicode文字列とその脱出されたASCIIバージョンとの間の効果的な変換を紹介し、ASCII環境でUnicode文字を保存します。
以上がASCIIの互換性を維持するために、C#で脱出してUnicode文字列を脱出して脱出するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。