中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-03 06:49
48,038 主题排行 / 350,123 发帖 / 今日 1 篇 / 48,251 会员排行
DOS批处理 & 脚本技术(批处理室) » [原创]CMD批处理获取文件的ASCII码
可打印版本  11,146 / 28
第1楼 lxmxn 发表于 2007-01-10 13:13
版主 发帖 4,938 积分 11,386
[原创]CMD批处理获取文件的ASCII码

  利用FC命令的“执行二进制比较”参数/B来获取文件的ASCII码,并分别显示其ASCII的十六进制和十进制形式,理论上可以是获取任何文件的内容所对应的ASCII码。

  说明:如果文件中含有中文或者ASCII码值比较大的字符,显示的ASCII码就会分开了,这是不可避免的。比如"啊"将显示为"B0 A1",因此其对应的十进制形式就会显示为"176 161"。
  希望大家多测试一下,有bug或者错误的地方,请跟贴指出。感谢 electronixtar 提供建议。



[ Last edited by lxmxn on 2007-1-10 at 09:17 PM ]
第2楼 ccwan 发表于 2007-01-10 21:06
金牌会员 发帖 1,160 积分 2,725 来自 河北廊坊
除了钦佩没有什么别的了。^_^
第3楼 vkill 发表于 2007-01-11 01:17
金牌会员 发帖 1,744 积分 4,103 来自 甘肃.临泽
没明白
第4楼 0401 发表于 2007-01-11 01:37
中级用户 发帖 88 积分 435
这句漂亮这样创建后的文件其16进制全为0,也就不会与其他字符相同了。难得兄能有这样的细心发现这点,佩服啊。缺点是必须ADMIN组才能用。
http://www.cn-dos.net/forum/viewthread.php?tid=24715#pid151384
这里的方法也很漂亮,将文件分别与同字节的a和b比较,然后再sort就可以得到按字节顺序排列的16进制数了。
第5楼 electronixtar 发表于 2007-01-11 01:49
铂金会员 发帖 2,672 积分 7,493
呵呵,lxmxn的p处理太漂亮啦,可惜昨天加分加完了,下次记着给你加分啦
第6楼 lxmxn 发表于 2007-01-11 02:07
版主 发帖 4,938 积分 11,386

  RE vkill :
  
  这个批处理就是将文件的内容转化为ASCII的形式啊。比如现在有个文件file.txt的内容如下:
www.cn-dos.net

  
  那么运行这个批处理,输入file.txt之后,就会得到下面的ASCII码的十六进制和十进制形式:(不过要是ADMIN组的成员,局限性)


文件内容所对应的ASCII码的十六进制形式依次为:
=========================================================
77 77 77 2E 63 6E 2D 64 6F 73 2E 6E 65 74 0D 0A
=========================================================


文件内容所对应的ASCII码的十进制形式依次为:
=========================================================
119 119 119 46 99 110 45 100 111 115 46 110 101 116 13 10
=========================================================

请按任意键继续. . .




  RE 0401 :

  多谢兄的指点和鼓励。又有这么多方法可以学了。



  RE electronixtar :

  多谢兄的肯定,呵呵,我还要感谢兄的建议呢。
  
第7楼 redtek 发表于 2007-01-11 02:25
金牌会员 发帖 1,147 积分 2,902
甚是欣赏lxmxn兄精彩代码!!!
不仅代码精彩而且还是一种创新~:)))

能够看到lxmxn和electronixtar兄的思想真是一种享受~:)
第8楼 pengfei 发表于 2007-01-11 11:19
银牌会员 发帖 485 积分 1,218 来自 湖南.娄底
原来fc可以这样, electronixtar兄知识面很广啊, lxmxn兄脚本功底越来越强了! ^_^
第9楼 Eblis 发表于 2007-01-11 11:54
中级用户 发帖 108 积分 251 来自 湖南==>广州
看不懂..能不能说明一下?
第10楼 pengfei 发表于 2007-01-11 12:35
银牌会员 发帖 485 积分 1,218 来自 湖南.娄底
我也传一个用C写的文本ASCII码的十进制和十六进制转换程序.

ascii.exe test.txt save.txt

如上程序有两个参数, 第一为要转换的文件名, 第二个为转换后保存的文件名. 第二个参数可以不要.

对中文字符转换十进制形式表示为负数, 十六进制形式为非正常显示.

附件
ascii.rar (4.28 KiB)
第11楼 qasa 发表于 2007-01-11 17:15
高级用户 发帖 311 积分 959 来自 广东-LianJiang
佩服,思路很好。加分支持~~~
第12楼 lxmxn 发表于 2007-01-12 07:15
版主 发帖 4,938 积分 11,386
Originally posted by Eblis at 2007-1-10 22:54:
看不懂..能不能说明一下?


  思路已经说了啊,还有哪些不懂呢?
第13楼 hxuan999 发表于 2007-01-12 10:26
中级用户 发帖 161 积分 337
正好要这个,呵,谢谢了.
第14楼 nicholasmaxwell 发表于 2007-01-14 02:12
新手上路 发帖 6 积分 12
庭好玩,收下了
第15楼 ytfsse 发表于 2007-01-15 12:45
新手上路 发帖 6 积分 11
好厉害呀
1 2  下一页
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023