找回密码
 加入
搜索
查看: 8592|回复: 13

[AU3基础] 如何读取文件的16进制和ASCII代码[已解决]

  [复制链接]
发表于 2014-12-8 22:48:55 | 显示全部楼层 |阅读模式
本帖最后由 haijie1223 于 2014-12-9 13:09 编辑


如图是用winhex打开的一个rar文件和jpg文件,其中左边显示的是16进制格式,右边是ASCII码格式。
现在问题有两个:
1、如何用AU3读取到文件的这个16进制字符串,如何用AU3读取到文件的ASCII码。
2、如何将文件的16进制转化到ASCII码。

以前只是读取文本文件,倒是没有注意其他格式文件的读取。高手请指点。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2014-12-9 00:44:18 | 显示全部楼层
16文件打开模式即可
$h = FileOpen('XXX文件', 16)
$b = FileRead($h)        ;16进制字符串
FileClose($h)
$sA = BinaryToString($b);ANSI
 楼主| 发表于 2014-12-9 07:40:52 | 显示全部楼层
回复 2# afan


    真汗死了,16进制这个我没有去对比。
不过ASCII码这个,用CONSOLEWRITE显示不全,是转化不全还是显示不全呢?
发表于 2014-12-9 08:09:49 | 显示全部楼层
大神的问题太高深了....  只能帮你顶一下~~~
发表于 2014-12-9 08:16:22 | 显示全部楼层
我x,想直接读rar?
 楼主| 发表于 2014-12-9 10:23:00 | 显示全部楼层
回复 5# netegg


    不仅仅是RAR,是任何格式的文件。
发表于 2014-12-9 10:28:03 | 显示全部楼层
路过,高深啊!!!
发表于 2014-12-9 12:20:06 | 显示全部楼层
回复  afan


    真汗死了,16进制这个我没有去对比。
不过ASCII码这个,用CONSOLEWRITE显示不全,是 ...
haijie1223 发表于 2014-12-9 07:40



    显示问题,实际数据都是全的,你可以 FileWrite(数据, 'xxx.txt') 看看
 楼主| 发表于 2014-12-9 13:09:10 | 显示全部楼层
回复 8# afan


    这是SCITE的bug吗,难道就像dos 的1a?Afan,移帖吧,谢谢!
 楼主| 发表于 2014-12-9 20:13:55 | 显示全部楼层
回复 8# afan


    A版,遇到这么一个问题,用copy /b 命令可以将两个文件合并为一个文件。例如jpg和rar文件合并为jpg文件。
然后用winhex找到两个文件的分界点可以将两个文件分开。我就是想用AU3找到这个分界点然后分别写会到各自的文件。
$hfile=FileOpen("003.jpg",16) ;003.jpg 是jpg和rar 合并后的文件。
$sBinry=FileRead($hfile)
FileClose($hfile)

$pos=StringInStr($sBinry,"526172211A");526172211A 是rar文件的开头,jpg文件在前。
$sNewstr=StringMid($sBinry,1,$pos)

$hfile=FileOpen("005.jpg",2+16) ;这是打算从合并文件中分出的那个jpg文件
FileWrite($hfile,$sNewstr)
FileClose($hfile)
以上的代码并不能实现我的目的。经分析,用string相关的函数时,AU3已经将文件的二进制代码转化为字符型了,再写入到文件时,新文件的二进制代码其实已经变化。
请问A版,这个问题如何解决?
发表于 2014-12-9 20:25:50 | 显示全部楼层
回复 10# haijie1223


    有 0x 这两个字符
 楼主| 发表于 2014-12-9 20:35:12 | 显示全部楼层
回复 11# afan


    A版,在下愚钝,没有看明白处理方法。还请明示。
发表于 2014-12-9 20:46:01 | 显示全部楼层
这行改改 $sNewstr=StringMid($sBinry,1,$pos - 1) 试试

评分

参与人数 1金钱 +30 收起 理由
haijie1223 + 30 A版,感觉自己好浮躁,需要向您学习!

查看全部评分

 楼主| 发表于 2014-12-9 20:59:05 | 显示全部楼层
回复 13# afan


    真被我自己打败了~~
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-16 12:32 , Processed in 0.233575 second(s), 25 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表