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 に答える