ホームページ >バックエンド開発 >C++ >C#でUnicode文字をエンコードしてデコードする方法は?

C#でUnicode文字をエンコードしてデコードする方法は?

DDD
DDDオリジナル
2025-01-28 04:51:13493ブラウズ

How to Encode and Decode Unicode Characters in C#?

C#

のユニコード文字のエンコードとデコード c#では、

クラスは文字コーディングとデコードに使用されます。ただし、ASCII範囲外のユニコード文字を処理する場合、制限があります。非ASCII文字(ギリシャ文字PI(π)など)を保持するには、特定のテクノロジーを使用する必要があります。

Encoding ユニコード文字エンコード

ユニコード文字を正義のASCIIストリングにエンコードするには、次の方法を使用します。

このメソッドは、非ASCII文字を、「π」から「U03A0」などの対応する遷移ASCIIフォームに置き換えます。

ascii文字デコード
<code class="language-csharp">static string EncodeNonAsciiCharacters(string value) {
    StringBuilder sb = new StringBuilder();
    foreach (char c in value) {
        if (c > 127) {
            string encodedValue = "\u" + ((int)c).ToString("x4");
            sb.Append(encodedValue);
        } else {
            sb.Append(c);
        }
    }
    return sb.ToString();
}</code>

を転送します

正しいASCII文字列をUnicodeにデコードするには、正規表現を使用します。

この正規表現は、たとえば、「U03A0」が「π」になるなど、すべての再式ユニコード文字(UXXXX)を対応するユニコード文字に置き換えます。 例の例次の例は、コードとデコードプロセスを示しています。

この例では、コード全体とデコードプロセス全体で非ASCII文字PIを保持しています。
<code class="language-csharp">static string DecodeEncodedNonAsciiCharacters(string value) {
    return Regex.Replace(value,
        @"\u(?<value>[a-zA-Z0-9]{4})",
        m => {
            return ((char)int.Parse(m.Groups["Value"].Value, NumberStyles.HexNumber)).ToString();
        });
}</code>

以上がC#でUnicode文字をエンコードしてデコードする方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。