找回密码
 加入
搜索
查看: 3295|回复: 7

[AU3基础] 求助。关于二进制文件 如果想替换文件内某几个数据该怎么弄?

  [复制链接]
发表于 2010-3-14 19:41:37 | 显示全部楼层 |阅读模式
本帖最后由 lsq726 于 2010-3-17 23:37 编辑

如:
01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 01
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 01

如果想把第20 -28位置的00[红色部分的00] 替换成别如12 34 56 78 12 34 56 78 的该怎么写?

补充一下:
二进制。。没有回车。补充一下第一行的 数字是不定的,但第二行[二进制 没回车 只是方便显示说第二行] 不变
发表于 2010-3-14 19:58:28 | 显示全部楼层
源码区有例子,GO吧
 楼主| 发表于 2010-3-14 20:34:31 | 显示全部楼层
的确找了。但没找见。
http://www.google.cn/search?hl=z ... F%9B%E5%88%B6+site:&start=40&sa=N[/url]

还请LS的朋友指点一下
发表于 2010-3-14 22:19:40 | 显示全部楼层
正则替换吧!
发表于 2010-3-14 22:41:05 | 显示全部楼层
一行还是三行?
发表于 2010-3-15 11:04:45 | 显示全部楼层
本帖最后由 水木子 于 2010-3-15 11:20 编辑

办法比较笨!
#include <Array.au3>
Dim $avArray[8] = [12, 34, 56, 78, 12, 34, 56, 78], $z, $x = 1, $Text

$sText = '01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 01' & @CRLF & _
                '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' & @CRLF & _
                '01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 01'
MsgBox(0, '原字符串', $sText)

$sReg = StringRegExp($sText, '\w+', 3)
For $i = 18 To 25
        $sReg[$i] = $avArray[$z]
        $z += 1
Next

For $o = 0 To UBound($sReg) - 1
        If StringIsInt($x / 15) Then
                $Text &= $sReg[$o] & ' ' & @CRLF
        Else
                $Text &= $sReg[$o] & ' '
        EndIf
        $x += 1
Next

MsgBox(0, '替换结果', $Text)
 楼主| 发表于 2010-3-17 23:37:11 | 显示全部楼层
二进制。。没有回车。补充一下第一行的 数字是不定的,但第二行[二进制 没回车 只是方便显示说第二行] 不变
发表于 2010-3-18 08:21:35 | 显示全部楼层
的确找了。但没找见。
&start=40&sa=N[/url]

还请LS的朋友指点一下
lsq726 发表于 2010-3-14 20:34


我说的是源码区啊,你怎么跑GOOGLE上去找了
坛子里有人写了UDF,再源码区有例子
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-11-16 20:42 , Processed in 0.315772 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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