使用Windows自带命令,将文件编码改为ANSI的方法
·
在Windows中,一些命令(如WMIC)输出到文件以后,默认是UTF编码。
如图:
但是有些软件并不支持这种编码(如易语言),中文等双字节文字就会变成乱码,这个时候我们就需要进行编码转换。
方法一,使用find命令
例:
wmic process | find /v "" > Z:\2.txt
执行后,文件编码已经变成了ANSI:
方法二,使用type命令转换已有文件
例:
type Z:\1.txt > Z:\3.txt
这样,新的3.txt就是ANSI编码了:
方法三,使用Powershell,进行多编码转换
PowerShell是比CMD更强大的命令行工具。。
在运行中输入PowerShell回车,或者在较新的Windows版本中,点击右键选择“在终端中打开”:
打开之后如图: 指定输出编码示例:
wmic process | Out-File -Encoding "Default" Z:\4.txt #输出为ANSI编码
type命令同样可以使用:
type Z:\1.txt | Out-File -Encoding "Default" Z:\5.txt
和CMD不同的是,PowerShell本身提供了输出到文件(Out-File),并指定编码(-Encoding)的功能!它不仅可以把UTF编码的文件转换为ANSI编码,也可以将ANSI编码的文件转换为UTF编码!
ANSI转unicode示例:
type Z:\5.txt | Out-File -Encoding "unicode" Z:\6.txt
转换后如图:
-Encoding支持的编码有:
ascii
bigendianunicode
default
oem
string
unicode
unknown
utf32
utf7
utf8
编码输入小技巧:打完 -Encoding 空格后,按下Tab键即可自动填充编码名称
需要注意的问题
编码转换不是一定会成功的,其它编码转换成ANSI,文件中必须存在双字节文本(比如中文)!
如果没有双字节文本,那么文件不会被转换成ANSI,而可能变成了UTF-8!
可以测试一下:
wmic cpu | Out-File -Encoding default Z:\7.txt
type Z:\7.txt | Out-File -Encoding default Z:\8.txt
可以看到,无论是直接输出,还是type转换,文件编码都变成了UTF-8。。
再次重申:其它编码转换成ANSI,文件中必须存在双字节文本!
但是ANSI转换成其它编码,没有这个限制。。
更多推荐
已为社区贡献5条内容
所有评论(0)