题
我有一个保存为 UCS-2 Little Endian 的文件,我想更改编码,所以我运行了以下代码:
cat tmp.log -encoding UTF8 > new.log
生成的文件仍采用 UCS-2 Little Endian 格式。这是因为管道始终采用这种格式吗?有没有一种简单的方法可以将其作为 UTF8 传输到新文件?
解决方案
按照建议 这里:
Get-Content tmp.log | Out-File -Encoding UTF8 new.log
其他提示
我会这样做:
get-content tmp.log -encoding Unicode | set-content new.log -encoding UTF8
我的理解是 -encoding 选项选择文件应该读取或写入的编码。
使用编码从 xml 文件加载内容。
(获取内容-编码 UTF8 $fileName)
如果您正在读取 XML 文件,这里有一个更好的方法来适应 XML 文件的编码:
$xml = New-Object -Typename XML
$xml.load('foo.xml')
不隶属于 StackOverflow