WSLはWin32との文字コードの違いにどう対応しているか? Windows Subsystem for Linux(WSL)には、Win32相互運用性と呼ばれる機能があり、WSLのbashから直接Win32プログラムを起動することができる。WSLのLinuxディストリビューションは、標準の文字コードとしてUTF-8を使うのに対して、Win32プログラムの標準の文字コードは、日本語版Windowsの場合ではShift-JISである。 しかし、WSLやCMD.EXE(コマンドプロンプトウィンドウ)では、お互いをパイプで接続してコマンドを連続して動作させることが可能だ。このときWSLは、コマンドラインを見て、Win32プログラムが適切な文字コードを出力できるように調整をおこなう。具体的には、以下の3つの場合が考えられる。 1. Win32プログラムの標準出力がコンソールに接続しているとき 2.
![ASCII.jp:Windows Subsystem for LinuxとWindows内の文字コード (1/2)|Windows Info](https://cdn-ak-scissors.b.st-hatena.com/image/square/fb2c929d241fdda1791d499fb7138d333d551fef/height=288;version=1;width=512/https%3A%2F%2Fascii.jp%2Fimg%2F2019%2F03%2F17%2F1630801%2Fl%2F883a6797a179f5ea.jpg%3F20200122)