gpt4 book ai didi

将文件中的 HEX 数据转换为 ascii

转载 作者:行者123 更新时间:2023-11-30 19:44:53 24 4
gpt4 key购买 nike

我想解码 ASN.1 标准二进制文件。我已将二进制文件转换为十六进制并将其存储在文件中。现在我想将这个十六进制转换为ascii。我现在遇到的问题是如何读取十六进制文件。

文件看起来是这样的,81 01 32 82 0D 35 31 34 32 34 31 38 38 38 其中81是标题,01是大小,32是数据。 82 又是标题,这样继续下去。 我如何读取此文件并区分存在的各个字段

我在互联网上搜索了这个问题,但没有得到满意的答案。有人可以帮助我指明前进的方向吗?我不需要任何代码,只想要我如何做到这一点的过程。

最佳答案

我会首先读取标题,然后循环读取数据。您可以使用“x”说明符读取十六进制数字(假设您的文件名为 hexfile.txt):

#include <stdio.h>

int main ()
{

FILE *stream;
unsigned int h, l, d;

if( (stream = fopen( "hexfile.txt", "r" )) == NULL ) return 1;

while (EOF != fscanf (stream, " %x %x", &h, &l))
{
printf ("%02X %02X\n",h,l);

for (unsigned i=0; i<l; ++i)
{
if (EOF == fscanf (stream, " %x", &d)) break;
printf ("%02X ",d);
}
puts ("");
}

fclose (stream);

return 0;
}

关于将文件中的 HEX 数据转换为 ascii,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27187066/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com