使用Windows自带命令,将文件编码改为ANSI的方法

本文详细介绍了在Windows系统中如何通过WMIC命令、find、type和PowerShell工具,将UTF编码的文件转换为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转换成其它编码,没有这个限制。。

已经博主授权,源码转载自 https://pan.quark.cn/s/5357e1bf1d1e 在Windows 10系统环境下,文本文件预设的字符编码格式普遍为UTF-8,此编码体系为全球通用的字符表示规范,足以涵盖大多数语言文字的符号表现。不过,部分传统应用程序或特定应用情境下,可能需要采用ANSI编码,该编码体系以ASCII编码为基础,仅囊括128个基础的西文符号。若需将采用UTF-8编码文本文件转变为ANSI编码,可依照以下流程进行操作:1. 访问文本文件:须找到存储待转换文本内容的文本文件,可借助Windows系统自带的“记事本”软件来开启文件。倘若压缩包内含有"notepad.exe"或"NotePad 1.exe"等文件,它们可能是记事本的衍生版本或替代方案,亦可利用这些程序打开文档。2. 核对当前编码文件打开后,需确认当前的编码格式。在记事本应用中,点击界面顶部的“文件”选项,再选择“另存为”,在弹出的窗口中,可察看“编码”列表框所显示的当前编码,一般标记为“UTF-8无BOM”。3. 执行编码变更:为使文档的编码格式更改为ANSI,同样在“另存为”窗口中,首先可调整文件名(视情况而定),接着在“编码”列表框内挑选“ANSI”选项。务必确认“替换现有文件”复选框已被勾选,如此才能以新的ANSI编码覆盖原有的UTF-8文件。确认后点击“保存”键完成转换。4. 验证转换成效:转换动作完成后,再次开启新存储的ANSI文本文件,审视是否存在字符呈现异常的状况,由于某些特殊符号在ANSI编码中或许无法准确呈现。若显现乱码现象,可能源于文件内包含非ASCII字符,而这些字符在ANSI编码体系中不受支持。5. 采用专业文本编辑工具:倘若“记事本”无法满足需求,亦可...
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

skyyx2002

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值