C#构建hex表示法字符串
如何以hex表示法构建转义序列字符串。
例:
string s = "\x1A"; // this will create the hex-value 1A or dec-value 26
我希望能够像这样构建十进制值在00到FF之间的字符串(在这个例子中为1B)
string s = "\x" + "1B"; // Unrecognized escape sequence
也许还有另一种制作hex字符串的方法……
您不会在字符串中存储hex值。
你可以,但它只是一个字符串,并且必须转换为整数或字节才能实际读取其值。
您可以将hex值作为文字分配给int或byte:
Byte value = 0x0FF; int value = 0x1B;
因此,很容易将hex文字传递到您的字符串中:
string foo = String.Format("{0} hex test", 0x0BB);
哪个会创建这个字符串“126 hex test”。
但我不认为那是你想要的?
请尽量避免\x
转义序列。 它很难阅读,因为停止的地方取决于数据。 例如,这两个字符串之间的差异有多大?
"\x9Good compiler" "\x9Bad compiler"
在前者中,“\ x9”是制表符 – 转义序列在那里停止,因为’G’不是有效的hex字符。 在第二个字符串中,“\ x9Bad”是一个转义序列,为您留下一些随机的Unicode字符和“编译器”。
我建议您使用\ u转义序列:
"\u0009Good compiler" "\u0009Bad compiler"
(当然对于标签你会使用\t
但我希望你看到我的意思……)
当然这有点偏离原来的问题,但已经回答了:)
有一个hex16位 unicode字符代码的’\ u’转义码。
Console.WriteLine( "Look, I'm so happy : \u263A" );
- 需要使用C#更新XML中的字符串值
- 在城堡 – 温莎的多个装饰员模式
- 条件DataGridView格式
- Thread.CurrentPrincipal已经过身份validation,但ClaimsPrincipal.Current不是
- 计算系数以获得正常速度动画
- asp.net mvc核心如何返回Json查询
- System.IO.IOException:’进程无法访问文件’@ .txt’,因为它正被另一个进程使用。
- ASP.NET vNext – MissingMethodException:找不到方法:Microsoft.CodeAnalysis.Diagnostic> EmitResult.get_Diagnostics()’
- 在C#应用程序中嵌入IronPython – 在urllib上导入错误