如何以十六进制表示法构建转义序列字符串.
例:
string s = "\x1A"; // this will create the hex-value 1A or dec-value 26
Run Code Online (Sandbox Code Playgroud)
我希望能够像这样构建十进制值在00到FF之间的字符串(在这个例子中为1B)
string s = "\x" + "1B"; // Unrecognized escape sequence
Run Code Online (Sandbox Code Playgroud)
也许还有另一种制作十六进制字符串的方法......
Jon*_*eet 34
请尽量避免\x转义序列.它很难阅读,因为停止的地方取决于数据.例如,这两个字符串之间的差异有多大?
"\x9Good compiler"
"\x9Bad compiler"
Run Code Online (Sandbox Code Playgroud)
在前者中,"\ x9"是制表符 - 转义序列在那里停止,因为'G'不是有效的十六进制字符.在第二个字符串中,"\ x9Bad"是一个转义序列,为您留下一些随机的Unicode字符和"编译器".
我建议您使用\ u转义序列:
"\u0009Good compiler"
"\u0009Bad compiler"
Run Code Online (Sandbox Code Playgroud)
(当然对于你使用的标签,\t但我希望你看到我的意思......)
当然这有点偏离原来的问题,但已经回答了:)
Fly*_*wat 20
您不将十六进制值存储在字符串中.
你可以,但它只是一个字符串,并且必须转换为整数或字节才能实际读取其值.
您可以将十六进制值作为文字分配给int或byte:
Byte value = 0x0FF;
int value = 0x1B;
Run Code Online (Sandbox Code Playgroud)
因此,很容易将十六进制文字传递到您的字符串中:
string foo = String.Format("{0} hex test", 0x0BB);
Run Code Online (Sandbox Code Playgroud)
哪个会创建这个字符串"126 hex test".
但我不认为那是你想要的?
十六进制16 位unicode 字符代码有一个 '\u' 转义码。
Console.WriteLine( "Look, I'm so happy : \u263A" );
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
39517 次 |
| 最近记录: |