在打一个小项目的时候, 其中有一个步骤要将中文写入记事本当中,采用的是c++的fstream。写入后打开记事本看了没有问题, 后来打印出来居然都是乱码!也就是说, 出现了编码格式的问题。
查看了下写入后的文件格式,是UTF-8。
而我的打印机能正确打印的文件格式是unicode, 所以就需要把格式转换一下。
不用cmd的话, 非常简单, 只需要在另存记事本的时候修改编码格式为unicode即可。
下面是使用cmd的方法:
使用cmd, 实际上是使用powershell
一.直接使用powershell命令:
在powershell中输入
get-content 1.txt -encoding utf8 | set-content 2.txt -encoding unicode
将1.txt的编码格式转换为unicode
二.通过cmd来调用powershell命令:
在cmd中输入
PowerShell -Command "& {get-content 1.txt -encoding utf8 | set-content 2.txt -encoding unicode}"
将1.txt的编码格式转换为unicode
至于转换为其他编码格式, 只需修改unicode这个参数就可以了, 比方说改成utf8 或者ascii, 还有其他编码格式可以选择, 只要打错参数, 它就会报出参数提示选择~
这样就实现了cmd转换记事本编码格式啦~