首页 > 解决方案 > 将一串数字转换为字节数组,将显示值保持为 2 位

问题描述

我有一个字符串,我需要将其转换回其原始字节数组。

byte[] frame = new frame[64]; 
//Frame has values : 0x01,0x04,0x00,0x00,0x00,0x0A,0x70,0x0D

//TotalLengthofRecivedPackage = 8  
string Payload ; 

StringBuilder builder = new StringBuilder();
for ( int i = 0; i < TotalLengthofRecivedPackage; i++ )
{
    builder.Append(frame[i].ToString("x2"));
}
this.Payload = builder.ToString();

在此之后我能够得到这个。有效负载设置为 01040000000A700D 现在我想重新创建这个字节数组,内容为 0x01,0x04,0x00,0x00,0x00,0x0A,0x70,0x0D 这可能吗,

我尝试使用 byte[] recreatedbytesarray = payload.Select(c => ( byte ) ( c - '0' )).ToArray(); 但是有了这个我得到的字节是 0x00,0x01,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0A,0x70,0x0D 字面上每个字符都变成了一个数字,但我需要 2 位数字被视为一个数字。

任何帮助将不胜感激。谢谢。

标签: c#

解决方案


推荐阅读