Windows10proのコマンドプロンプトからWSLコマンド経由で文字コードを変換する方法

Windows10proのコマンドプロンプトからWSLコマンド経由で文字コードを変換する方法

ディストリビューション
Ubuntu 18.04.2 LTS

ウィンドウズで文字コードを変換するにはサクラエディタやVSCodeで変換するかウィンドウズ版iconvをインストールする必要がありました。

WSLがインストールされていればコマンドプロンプトからnkfコマンドが使用できるのでコマンドプロンプトから文字コード変換が可能になります。巨大なファイルの場合、サクラエディタなどで文字コード変換するとメモリが足りずにエラーとなる場合があります。

Shift-JIS(CRLF)をUTF-8(LF)に変換するには以下コマンドです。(--overwriteで上書き)

C:\Users\takahashi-h5>wsl nkf -wd --overwrite a.txt

ファイル内がASCIIコードのみの場合はASCIIと判定されてしまうようです。

ファイルの文字コードと改行コードを確認するには--guessオプションを使用します。

C:\Users\takahashi-h5>wsl nkf --guess a.txt
UTF-8 (LF)

あまり使うことはないと思いますがShift-JIS(CRLF)にする場合は-scオプションで変換できます。

C:\Users\takahashi-h5>wsl nkf -sc --overwrite a.txt

C:\Users\takahashi-h5>wsl nkf --guess a.txt
Shift_JIS (CRLF)

コメント

タイトルとURLをコピーしました