Frage

Wie kann ich einfügen ASCII Sonderzeichen (zum Beispiel mit dem ASCII-Wert 0x01) in einen String?

Ich frage, weil ich folgend bin mit:

str.Replace( "<TAG1>", Convert.ToChar(0x01).ToString() );

, und ich fühle, dass es ein besserer Weg, als diese sein. Irgendwelche Ideen?

Update:

Auch wenn ich diese Methode verwenden, muss ich über Unicode und ASCII Klirren Sorgen machen?

War es hilfreich?

Lösung

Ich glaube, Sie \uXXXX verwenden können bestimmte Codes in die Zeichenfolge eingefügt werden soll.

ETA: Ich habe es gerade getestet und es funktioniert. : -)

using System;
class Uxxxx {
    public static void Main() {
        Console.WriteLine("\u20AC");
    }
}

Andere Tipps

  

Auch wenn ich diese Methode verwenden, muss ich über Unicode und ASCII Klirren Sorgen machen?

Ihr erstes Problem wird Ihre Tags mit ASCII clashing sein. Zeilenvorschub: Sobald Sie auf TAG10 bekommen, werden Sie mit 0x0A kollidieren. Wenn Sie sicherstellen, dass Sie nie mehr als neun Tags erhalten wird, sollten Sie sicher sein. Unicode-Codierung (oder besser gesagt: UTF-8) ist identisch mit ASCII-Codierung, wenn die Byte-Werte liegen zwischen 0 und 127. Sie unterscheiden sich nur, wenn das Top-Bit gesetzt ist.

  

, und ich fühle, dass es eine bessere sein   Art und Weise als diese. Irgendwelche Ideen?

Es sieht aus, als ob Sie versuchen zu manipulieren binäre Chunk mit Text Tool . Wenn Sie das Byte 0x01, zum Beispiel einfügen möchten, sind Manipulieren Sie keinen Text mehr, da es dir egal ist, was das Byte könnte darstellen, und da es sieht aus wie Sie darauf, nicht selbst tun das Codieren Sie Ausgeben werden.

Eine bessere Möglichkeit wäre, die Sache behandeln Sie als binäre Datenblock sind die Manipulation, die Sie Bits einfügen lassen würde und Bytes leicht, ohne spröde Abhilfen zu verwenden und sich Gedanken über Nebenwirkungen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top