【发布时间】:2022-01-05 11:09:46
【问题描述】:
我在将整数转换为十六进制格式的字节数组以写入我的十六进制文件时遇到问题。 我已经阅读并尝试了几种解决方案,我在此处和许多其他网站上都查看过这些解决方案。
我从文本框中读取整数并将其转换为这样的 int:
int value= int.Parse(textEditValue.EditValue.ToString());
这个数字的输入示例如下:
int value= 568
我需要像这样写入十六进制文件:
38 36 35 //reversed version of 568 because of endiannes
我试过的是:
byte[] intBytes = BitConverter.GetBytes(value);
Array.Reverse(intBytes); // Because the hex-file is little-endian
byte[] resultBytes = intBytes;
当上面的代码运行时,它会写入 hex 文件,如:
38 02 00 00
我是如何写入文件的:
for(int i = 0x289C; i >= 0x289C - resultBytes.Length; i--)
{
binaryWriter.BaseStream.Position = i;
binaryWriter.Write(resultBytes[count]);
count++;
}
感谢任何帮助或建议。
【问题讨论】:
-
需要将十六进制值的 ASCII 字符串表示形式写入文件似乎很奇怪。这是如何使用的——它是一种锻炼吗?
-
对于有特定要求的项目。 @500 - 内部服务器错误