Pergunta

Como faço para construir uma seqüência de escape em notação hexadecimal.

Exemplo:

string s = "\x1A"; // this will create the hex-value 1A or dec-value 26

Eu quero ser capaz de construir strings com valores hexadecimais entre 00 a FF assim (neste exemplo 1B)

string s = "\x" + "1B"; // Unrecognized escape sequence

Talvez haja outra maneira de fazer hexadecimal cordas ...

Foi útil?

Solução

Você não armazenar valores hexadecimais em cordas.

Você pode, mas seria apenas isso, uma corda, e teria que ser convertido para um inteiro ou um byte para realmente ler o seu valor.

Você pode atribuir um valor hexadecimal como um literal para um int ou um byte no entanto:

Byte value = 0x0FF;
int value = 0x1B;

Assim, sua facilmente possível passar um literal hexadecimal em sua string:

string foo = String.Format("{0} hex test", 0x0BB);

Qual seria criar esta string "126 teste hex".

Mas eu não acho que é isso que você queria?

Outras dicas

Por favor, tente evitar a seqüência \x fuga. É difícil de ler porque onde ele pára depende dos dados. Por exemplo, quanto é a diferença de relance entre estas duas cordas?

"\x9Good compiler"
"\x9Bad compiler"

No primeiro caso, o "\ x9" é guia - a seqüência de escape pára por aí, porque 'G' não é um caractere hexadecimal válido. Na segunda corda, "\ x9Bad" é ??tudo sequência de uma fuga, deixando-o com alguns caracteres Unicode aleatório e "compilador".

Eu sugiro que você use a seqüência de escape \ u em vez disso:

"\u0009Good compiler"
"\u0009Bad compiler"

(É claro que para guia você usaria \t mas eu espero que você veja o que quero dizer ...)

Este é um pouco além da pergunta original, é claro, mas que tem sido já respondeu:)

Há um '\ u' código de escape para hexadecimal 16 bits códigos de caracteres Unicode.

Console.WriteLine( "Look, I'm so happy : \u263A" );
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top