[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 批处理怎样把一个16进制数据的文本文件转成ASCII的文本文件?

我在做EEPROM读取的时候得到一个全是16进制数据的文件。如:61 62 63 ......其实它就是对应ASCII中的abc。现在我想用一个批处理把上面的16进制数据文件转成ASCII文件,那怎么写批处理呢?我在批处理之家看到过相应的批处理文件,那个确实也好用。不过实在太长了,我真心看不懂。虚心请教各位高手,有没有简单一点,我容易理解的程序啊?

你看到的是哪个?给个链接看看有多长

TOP

http://bathome.l3.wuyou.com/viewthread.php?tid=8899&rpid=71601&ordertype=0&page=1#pid71601看到的是这个。看到头都大了,我不需要这么多功能的。

TOP

回复 2# find


    有空我给你找找  这种编辑器我收藏了一些

TOP

找到一个 是字符 到 ascii再到 16


说是附件过大啊

要么你邮箱   


百度一下 ascii 转码 或者 ascii 16进制  这些关键字 多找找

TOP

大家有办法吗。这个是可以实现,不过老实说我真不知道用什么办法

TOP

能否把你的16进程数据保存到txt文件里面压缩一下传上来,我测试一下转换代码。

TOP

文件非常简单
如:61 62 63 64 5C 5D 5E
这样一个16进制数加一个空格再加一个16进制数,再是一个空格,这样下去的的文本文件

TOP

  1. @echo off
  2. set "FileASCII=C:\Test\a.txt"
  3. set "FileResult=%temp%\DecResult.txt"
  4. set ChrNum=
  5. set /p DecCode=<"%FileASCII%"
  6. set DecCode=head %DecCode% tail
  7. :Num2Chr
  8. set DecCode=%DecCode:* =%
  9. if "%DecCode%" neq "tail" (
  10.     if "%DecCode%" neq "" (
  11.         call :SplitDec 0x%DecCode%
  12.         goto :Num2Chr
  13.     )
  14. )
  15. echo OutPutFile="%FileResult%">"%temp%\Decode.vbs"
  16. echo Set objFSO=CreateObject("Scripting.FileSystemObject")>>"%temp%\Decode.vbs"
  17. echo Set objTXT=objFSO.CreateTextFile(OutPutFile,True,False)>>"%temp%\Decode.vbs"
  18. echo ChrVBS=""%ChrNum%>>"%temp%\Decode.vbs"
  19. echo objTXT.Write ChrVBS>>"%temp%\Decode.vbs"
  20. cscript //nologo "%temp%\Decode.vbs"
  21. start "" "%FileResult%"
  22. goto:eof
  23. :SplitDec
  24. set ChrNum=%ChrNum%+Chr(%1)
复制代码

TOP

谢谢find 。可以我用了一下不行啊。显示缺少“)”什么的。我了一下是使用VBS来实现的,那直接使用VBS是不是更好,更简单?

TOP

回复 10# height


你懂VBS的话,自己写个试试吧。

TOP

能否把你测试时使用的txt文件压缩一下传上来我试试

TOP

可以用DEBUG

TOP

就是这个东西。刚才有同学说debug,具体实现的办法是怎么样的啊?能否讲一下

TOP

简易debug版:
  1. @echo off
  2. set db=61 62 63 64 65
  3. (echo e0100 %db%
  4. echo r cx
  5. echo 5
  6. echo n xyz.txt
  7. echo w
  8. echo q)|debug
  9. start xyz.txt
复制代码
bat版(abc.txt文件放在当前目录内):
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. call ascmap.cmd /437 $||(echo ascmap.cmd文件缺失&pause&exit)
  4. for /f "delims=" %%a in (abc.txt)do set str=%%a&set str=#$:~0x!str: =,1##$:~0x!,1#&call:ECHO
  5. pause
  6. :ECHO
  7. ECHO %str:#=^!%
复制代码
SOS --- >> lllsoslll@163.com

TOP

返回列表