Heim >Backend-Entwicklung >C++ >Wie kann ich Unicode -Zeichen in C#codieren und dekodieren?

Wie kann ich Unicode -Zeichen in C#codieren und dekodieren?

DDD
DDDOriginal
2025-01-28 04:51:13493Durchsuche

How to Encode and Decode Unicode Characters in C#?

Die Codierung und Decodierung des Unicode -Zeichens im C#

In C#wird

Klasse zur Zeichencodierung und Decodierung verwendet. Es hat jedoch Einschränkungen bei der Verarbeitung des Unicode -Zeichens außerhalb des ASCII -Bereichs. Um nicht -ascii -Zeichen (z. B. griechische Buchstaben PI (π)) beizubehalten, müssen wir bestimmte Technologien verwenden.

Encoding Unicode -Zeichen codieren

Um das Unicode -Zeichen in die ASCII -Zeichenfolge der Gerechtigkeit zu codieren, verwenden wir die folgenden Methoden:

Diese Methode ersetzt nicht -cii -Zeichen für ihre entsprechende Übergangs -ASCII -Form, wie "π" zu "u03a0".

<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>
Übertragung der ASCII -Zeichen -Decodierung

Um die gerechte ASCII -Zeichenfolge zurück zu Unicode zu dekodieren, verwenden wir reguläre Ausdrücke:

Dieser reguläre Ausdruck ersetzt alle re -rechten Unicode -Zeichen (uxxxx) an seinem entsprechenden Unicode -Zeichen, zum Beispiel "u03a0" wird zu "π".

Beispiel verwendet
<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>

Das folgende Beispiel zeigt den Code- und Decodierungsprozess:

Dieses Beispiel behält während des gesamten Code- und Dekodierungsprozesses nicht -ascii -Zeichen pi bei.

Das obige ist der detaillierte Inhalt vonWie kann ich Unicode -Zeichen in C#codieren und dekodieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn