1

当与 .Net Framework 2.0 一起使用时,看起来 OEM 编码在 PowerShell 中不可用。

PS1> Get-Content $FilePath -Encoding OEM

无法绑定参数“编码”。由于枚举值无效,无法将值“OEM”转换为类型“Microsoft.PowerShell.Commands.FileSystemCmdletProviderEncoding”。指定以下枚举值之一,然后重试。可能的枚举值为“Unknown, String, Unicode, Byte, BigEndianUnicode, UTF8, UTF7, Ascii”。

但是我有这种编码的文件,我想在字符串中读取,怎么做?

4

1 回答 1

4

读入二进制数组并对其进行解码:

$enc = [System.Text.Encoding]::GetEncoding($Host.CurrentCulture.TextInfo.OEMCodePage)
$bytes = [System.IO.File]::ReadAllBytes($FilePath)
$text = $enc.GetString($bytes)
于 2013-01-29T13:11:03.767 回答