Windows Powershell输出到文件。奇怪的人物

时间:2016-03-21 17:45:59

标签: windows powershell echo

运行此命令:

echo "foo" > test.txt

我在test.txt中得到了奇怪的结果。实际上,我甚至无法在堆栈溢出中直接复制粘贴内容,但需要显示文件的十六进制输出。看起来像这样 -

ff fe 66 00 6f 00 6f 00 0d 00 0a 00

不确定FFFE是什么,但看起来它也会在每个角色之间放置NULL

任何Windows用户都可以指导我正确的方向,为什么会发生这种情况以及如何解决它?我只想要内容" foo"放在该文件中不受干扰。

1 个答案:

答案 0 :(得分:6)

0xFFFE是UTF-16 LE(小端)的Unicode byte order mark,这是正常的Windows Unicode。

您的文件内容是两个字节的BOM,0x6600(" f"),0x6f00(" o"),0x6f00(" o"), 0x0d00("`r"或回车),0x0a00("`n"或新行)

尝试:

echo "foo" | Out-File -FilePath test.txt -Encoding utf8