我有一个问题,当我从csv导入每个字符之间的字符时,我会得到这些空间。为此,简单的解决方法是将csv编码更改为ansi/ascii,但这只会在打开文件并保存并指定编码时才会执行。我曾尝试:Powershell:找出一个字符是什么字符串
(Get-Content -Path $path) | Out-file -FilePath $path -Encoding "ASCII"
)
起初我以为工作,但它是因为我之前已经做了保存为文件上,并忘了。
导入的csv在导入之前看起来像这样。
C:\temp,C:\temp,17.2MB, 0
但当CSV导入像字符的空间涉足:
我不知道你怎么能好看到该图像中,但文字是:
C : \ t e m p, C : \ t e m p, 1 7 . 2 M B, 0
这个空间阻止我在我的搜索上停止TA。
基本上有办法找出那个角色是什么,所以我可以摆脱它?还是有另一种方法来改变编码?
'GET-Content'试图猜测用于文件的编码 - 它并不一定正确地猜测。 'Get-Content-Encoding Unicode'是否可以改善问题? –
不,它不是,无论如何改变PowerShell的编码,如果只是得到编码? –
它不会“获取”编码 - “Get-Content -encoding Unicode -Path $ path' *告诉* PowerShell文件被编码为(little-endian)Unicode。如果这不是文件的编码,它将不起作用(从您的输出中,它看起来可能已经)。在阅读文件之前,您必须先了解文件的编码。 –