Powershell:设置获取内容pipe道的编码
我有一个文件保存为UCS-2 Little Endian我想更改编码,所以我跑了下面的代码:
cat tmp.log -encoding UTF8 > new.log
结果文件仍然在UCS-2 Little Endian中。 这是因为pipe道总是这种格式? 有没有一种简单的方法来pipe道这个UTF8的新文件?
如这里所build议的:
Get-Content tmp.log | Out-File -Encoding UTF8 new.log
我会这样做:
get-content tmp.log -encoding Unicode | set-content new.log -encoding UTF8
我的理解是,-encoding选项select文件应该读取或写入的encdoing。
从编码的XML文件加载内容。
(Get-Content -Encoding UTF8 $ fileName)
如果你正在阅读一个XML文件,这里有一个更好的方法来适应XML文件的编码:
$xml = New-Object -Typename XML $xml.load('foo.xml')