【发布时间】:2015-04-17 11:26:05
【问题描述】:
我有一个包含如下值的字节数组:
byte[] data={0x04,0x00};
我需要将其转换为字符串并将其打印为 str_data=0x400
但是当我将其转换为字符串时,数据打印为 40,其中最后一个 0x00 被视为仅 0。
我是 C# 新手,我正在努力解决这个问题。请帮忙。
【问题讨论】:
-
你能展示你用来将其转换为字符串的代码吗?
-
你想要的实际类型有点不清楚。标题说 int[] 所需的变量名似乎是字符串但包含一个 int...请更新问题描述
-
BitConverter.ToInt16() 这样做。或者一个 MemoryStream 来存储字节和 BinaryReader 来转换。打印时如何格式化值是分开的,使用 X 格式说明符生成十六进制字符串。
-
最初我尝试使用此代码将字节数组转换为 int 数组,然后将其打印为字符串
int[] intArray = new int[0]; byte[] byteArray = new byte[0]; intArray = byteArray.Select(x => (int)x).ToArray(); ApplicationLogger.WriteMsg("Print : " + intArray.ToString());