Domanda

Come posso inserire ASCII caratteri speciali (ad es.il valore ASCII 0x01) in una stringa?

Lo chiedo perchè sto usando il seguente:

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

e penso che ci deve essere un modo migliore di questo.Tutte Le Idee?

Aggiornamento:

Anche Se io uso questa metodologia, non ho bisogno di preoccuparsi di unicode & ASCII si scontrano?

È stato utile?

Soluzione

Credo che è possibile utilizzare \uXXXX per inserire specificati i codici in una stringa.

ETA:Ho appena provato e funziona.:-)

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

Altri suggerimenti

Anche Se io uso questa metodologia, non ho bisogno di preoccuparsi di unicode & ASCII si scontrano?

Il primo problema sarà il vostro tag scontrandosi con ASCII.Una volta che si arriva a TAG10, si scontrano con 0x0A:linea di alimentazione.Se si garantisce che non si sarà mai ottenere più di nove etichette, si dovrebbe essere al sicuro.Codifica Unicode (o meglio:UTF8) è identico a ASCII codifica quando il byte-valori compresi tra 0 e 127.Essi differiscono solo quando l'ultimo bit è impostato.

e sento che ci deve essere una migliore rispetto a questo.Tutte Le Idee?

Sembra come se si sta cercando di manipolare un binario pezzo testuale strumenti.Se si desidera inserire il byte 0x01, per esempio, si sta modificando il testo più, dato che non si cura di cosa byte potrebbe rappresentano, e dato che sembra che non hai nemmeno la cura di codifica sarete output.

Un modo migliore sarebbe quello di trattare la cosa che si sta manipolando come un binario blocco di dati, che permette di inserire i bit e i byte facilmente, senza l'utilizzo di fragile soluzioni alternative e preoccuparsi di effetti collaterali.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top