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

回复 17# locoman


    我没找到unicode文件,能否上传一份?
    我转换出来的都乱码了....

TOP

回复 17# locoman


    编码判断内部还是和 -show    -action getcoder选项一样的判断方法,和文件名无关系
    ansi和unicode转换更简单了,现实中我倒是很少遇到unicode文件

TOP

本帖最后由 locoman 于 2021-9-14 18:52 编辑
回复  locoman


    14楼是不是你需要的
went 发表于 2021-9-14 14:06


基本上是那个意思!

coder -c -1 0 -f utf8.txt>ansi.txt
添加了cp1自动检测编码的参数(-1),仅对utf8和ansi文件有效

但是,对14楼的仍有改进的必须:
1.  既然是自动编码检测了,就应该全面自动检测,不能仅仅只有两种,这样别人是不好判断的!
2. 其实,Unicode to ANSI  的需求更多,主要是当前32位与64位混用的时代,很多32位的只能使用 ANSI ,就更需要Unicode 与 ANSI 的互转。
3. 单看14楼的格式,不知道您是否采取的是用特定文件名来作判断的?这样至少不能自定义文件名了!还是能让别人自定义文件名才好,如下:
coder -c -1 0 -f xyz.txt ANSI abc.txt
coder -c -1 0 -f xyz.txt UTF-8 abc.txt
coder -c -1 0 -f xyz.txt UTF-16_BE abc.txt
coder -c -1 0 -f xyz.txt Unicode abc.txt

祝您完美成功!!

TOP

回复 1# went

感谢楼主无私分享!!

如果,能实现“自动转码”功能,真的不失为一个很好的批处理工具!!!

为什么要说“自动转码”呢?

主要是现如今的系统线已经很长很乱了:32位、64位、甚至在一些环境中WIN XP都还在使用,WIN7和WIN10的过渡拉锯战仍然有很长的路。
所以,文件的编码问题也较为混乱了,往往根本无法预知某系统使用的哪种文件编码?也无法预知会生成什么样的文件编码?
但是,我最终想要的文件编码类型应该预知的。

所以,对源文件的编码格式,最好在内部进行自动判断,不需要我去确定,我只需要指定转换输出文件的编码格式即可!!

如:对一个未知编码的格式文件xyz.txt处理——
转ANSI
coder -c xyz.txt ANSI abc.txt

转UTF-8
coder -c xyz.txt UTF-8 abc.txt

转UTF-16_BE
coder -c xyz.txt UTF-16_BE abc.txt

如此,在批处理中的应用就方便灵活多了!!

TOP

回复 12# newswan


    可以先getcoder再根据输出进行convert,就不再重写了

TOP

回复 11# went


    cp1 cp2 合一个参数,在程序内分成2个
    cp1 支持 any 或者 空参数  ,程序检测编码,并转换成cp2

TOP

回复 10# newswan


    cp1和cp2是转换前后的代码页,两个参数,不能写成一个

TOP

回复 9# went


              转换工具   -convert <cp1> <cp2> -<string|file> [<str|filePath>|管道]
          查看编码   -show    -action <getcoder|getmd5> -<file|string> [<str|filePath>|管道]
          url工具    -url     -action <decoder|encoder> -<string|file> [<str|filePath>|管道]
          base64工具 -base64  -action <decoder|encoder> -<string|file> [<str|filePath>|管道]

如果为了参数整齐 <cp1> <cp2> 合一 cp1-cp2 cp1_cp2  麻烦吗

TOP

回复 8# newswan


    主要是凑齐5个参数,省去一些校验参数的麻烦,我看看好不好改吧

TOP

本帖最后由 newswan 于 2021-6-18 20:11 编辑

-show -action getcoder
把  -action 去掉,直接 -getcoder
比较好些

TOP

本帖最后由 went 于 2021-6-18 22:30 编辑

回复 6# zeng_xingdong


    谢谢建议,1楼已修改为支持单字母选项,简化参数输入操作

TOP

感觉动作输入太长了 不能直接-b -a -e 啥的 并且一个base64 得输入.\coder.exe -base64 -action encoder -string  这么长。。就是有点麻烦

不过还是给楼主点赞了

TOP

不错,学习一下 辛苦楼主了。

TOP

本帖最后由 went 于 2021-9-13 23:30 编辑

回复 4# went

当文件字节全是0-127范围内即每个最高位全是0时,文件ansi和utf8编码字节数据完全相同
为了方便其它程序处理,coder.exe把编码看成ANSI,和notepad显示有所不同

TOP

回复 1# went

用汇编写的,太厉害了啊。

TOP

返回列表