この文書の作成時点の環境は以下です。
- PowerShell 5.1.15063.909
標記のおとり。
以下のようにリダイレクトでファイル出力すると、BOM付きUTF16リトルエンディアンでエンコードされる。
ざっと探した感じではリダイレクトのエンコードを指定する方法は見つからない。
代わりにOut-Fileコマンドレットが利用できる。
Out-* コマンドレットを使用してデータをリダイレクトする | Microsoft Docs
BOMなしは自前でがんばる必要がある。まじかよ。
いくつか方法がありそうだが、例えばText.Encoding.UTF8.GetBytes()でUTF8のByte列を取得し、Set-Contentコマンドレットで出力する方法は以下。
PowerShell
PowerShellがちょっと嫌いになった。エンコードの違いに気付かなかった自分が悪いんだけどね。
0 件のコメント:
コメントを投稿