永发信息网

关于VB读取并翻译十六进制文件的问题(急)

答案:2  悬赏:50  手机版
解决时间 2021-02-14 09:55
  • 提问者网友:黑米和小志
  • 2021-02-13 17:27
本人有许多十六进制的文件,用编辑器打开显示如下(截取其中一小段):
81 01 0d 34 21 11 09 45 ……
00 00 00 00 00 00 00 00 ……
81 0A 34 23 11 34 58 22 ……
00 00 00 00 00 00 00 00 ……
其中“8101”是一个事件代码,代表的意思是“试验开始”,“810A”则代表“试验结束”,这个文件中还有大量的这样的代码,如果想要用VB去读取这个文件,并且能够查找到是否含有指定的事件代码(如查找“8101”没有查到就显示“没有试验”),如果用VB编写这段代码,请各位高手尽快给予答复!

谢谢VB妮可,不过我不太清楚用二进制方式进行读取后怎样进行逐个读取的方法,你能不能写一些代码供我参考一下,我对VB的了解不是太多,正在学习当中,还希望你能够给予一定的指教!
最佳答案
  • 五星知识达人网友:骨子里都是戏
  • 2021-02-13 18:48
dim lngFileLen as long,i as long , bytB() as byte
lngfilelen=filelen("十六进制的文件")
redim bytb(1 to lngfilelen) as byte
open "十六进制的文件" for binary as 1
get 1,,bytb()
close
for i= 1 to lngfilelen-1
if bytb(i)=&H81 then
if bytb(i+1)=&h1 then print "找到一个""试验开始"""
end if
next i
全部回答
  • 1楼网友:渡鹤影
  • 2021-02-13 19:38
读取的话,你就可以逐行读出来,然后两个16进制字符做成一个字节: 比如十六进制a,b char c; c = a * 16 + b; 如果你读到的是字符'a','b' 那么就要换算一下,对应的16进制值。比如‘a’对应a(10). 至于翻译成中文,这个要看你使用哪种编码了 有ansi,uicode等
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯