Board logo

标题: 请教:能否能用批处理实现编码的转换。 [打印本页]

作者: lianjiang2004     时间: 2007-6-3 07:19    标题: 请教:能否能用批处理实现编码的转换。
请教:能否能用批处理实现编码的转换。

我想自动实现把类似下面的16位制字符转换成字符,并赋予变量。能不能实现?需第三方软件也可,但要能支持行命令。


00000004E00: 45 30 38 33 39 32 42 42 38 39 44 45 44 42 38 45
00000004E10: 44 36 46 42 32 39 38 46 38 45 37 32 39 43 31 35

(结果应是E08392BB89DEDB8ED6FB298F8E729C15)

作者: tigerpower     时间: 2007-6-3 17:51
可使用mawk,请参见此帖(点击前往)的『第 15 楼』


1. 将hex.txt中的内容替换成

00000004E00: 45 30 38 33 39 32 42 42 38 39 44 45 44 42 38 45
00000004E10: 44 36 46 42 32 39 38 46 38 45 37 32 39 43 31 35

2. 将hex2ascii.awk中的{gsub(/*/,"")替换成

{gsub(/(.*:| *)/,"")

3. 将最后一行mawk -f hex2ascii.awk hex.txt替换成

E:\>for /f %i in ('mawk -f hex2ascii.awk hex.txt') do @set answer=%i
E:\>echo %answer%

即可。



更多命令行工具,请到本论坛的
WinPE、PowerShell板块(点击进入)



作者: lianjiang2004     时间: 2007-6-3 19:13
谢谢。
另此问题已在无忧论坛得到解决。

作者: Michael     时间: 2007-6-3 19:44
刚写了一个小程序,从标准输入读,写到标准输出。

http://zhenlove.com.cn/cndos/fileup/files/a2b.zip

假如一个文件---test.txt 内容如你所说:

00000004E00: 45 30 38 33 39 32 42 42 38 39 44 45 44 42 38 45
00000004E10: 44 36 46 42 32 39 38 46 38 45 37 32 39 43 31 35


执行

a2b < test.txt

即可得到结果。

作者: lxmxn     时间: 2007-6-3 21:22
Michael 要么不出手,要出手就是好东西,顶了。

作者: lianjiang2004     时间: 2007-6-3 21:36
万分感谢。

作者: lianjiang2004     时间: 2007-6-3 21:44
试了一下,效果很好。