• 使用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转换成其它编码,没有这个限制。。

  • 相关阅读:
    unordered_map/unordered_set的学习[unordered系列]
    【Gzip】详细介绍
    3D视觉硬件技术
    程序分析与优化 - 9 附录 XLA的缓冲区指派
    电脑基础知识-电脑不认新硬盘时该怎么办?
    chapter2——时钟和复位
    阿里面试官浅聊Java面试那些事
    2023 届校招薪资爆料汇总
    Flutter快学快用17 打包发布:Flutter 应用,你离线上运营只差最后一步
    C++(第二篇):C++的类和对象(上)
  • 原文地址:https://blog.csdn.net/s806903/article/details/126147889