我有一个保存为 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')
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top