目标是得到一个字节[16],其中第一个元素是十六进制值55,第二个元素是十六进制值AA.其他14是十六进制值0.
我试过了
byte[] outStream = System.Text.Encoding.UTF8.GetBytes("55 AA 00 00 00 00 00 00 00 00 00 00 00 00 00 00");
Run Code Online (Sandbox Code Playgroud)
但这会使用ascii值填充byte [],而不是十六进制值.
我试过了
byte[] outStream = new byte[16];
outStream[0] = byte.Parse("55");
outStream[1] = byte.Parse("AA");
for(int i=2; i<16; i++)
{
outStream[i] = byte.Parse("00");
}
Run Code Online (Sandbox Code Playgroud)
但这也不起作用.它不提供十六进制值,而是在AA上崩溃的整数值,因为它不是可解析的int.
任何帮助,将不胜感激.
dtb*_*dtb 12
你可以在C#中用十六进制前缀写一个十六进制整数文字:
byte[] result = new byte[16];
result[0] = 0x55;
result[1] = 0xaa;
Run Code Online (Sandbox Code Playgroud)
默认情况下,字节数组填充0x00,因此您只需设置前两个元素.
或者,您可以使用数组初始化语法:
byte[] result = new byte[] { 0x55, 0xaa, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
262 次 |
| 最近记录: |