【发布时间】:2016-11-04 16:48:19
【问题描述】:
有没有办法将 Byte[] 转换为 int8?我得到了一个包含测试输入参数列表的二进制文件。参数的大小从 uint32 到 uint8 不等。我在文件中读取没有问题,棘手的是让值显示在 GUI 中。
这是我正在做的事情的基础:
private Byte[] blockSize;
private Byte[] binSize;
FileStream filen = File.OpenRead(file);
BinaryReader br = new BinaryReader(filen);
blockSize = br.ReadBytes(4);
binSize = br.ReadBytes(1);
考虑到参数文件的前 32 位(4 字节)是 blockSize,接下来的 8 位(1 字节)是我的 binSize 变量的值,这没有问题。问题出在显示它。
textBox1.Text = BitConverter.ToInt32(blockSize, 0).ToString();
textBox2.Text = BitConverter.ToString(binSize, 0).ToString();
假设我的二进制输入文件包含以下 5 个字节的数据“0A 00 00 00 0A”。我的第一个文本框显示'10',我的第二个文本框显示'0A'。我希望将十六进制值转换为更易于理解的十进制值。只要输入文件中的参数大于 1 字节,它似乎就可以正常工作,因此我可以使用 ToInt16 或 ToInt32 轻松转换它,但我没有 8 位的品种。
【问题讨论】:
-
这怎么可能? Byte[] 转换成 int8?
-
int8 是什么意思?没有这样的事情。
-
int8=字节。字节[] 成字节?天哪。
-
@viveknuna,如果字节数组只有一个元素是可能的:)
标签: c#