Muni Bus

パソコンの操作方法や設定方法を忘れないようにメモしています。ブログを一回引っ越ししているので、所々表示がかなり乱れています・・・

【PowerShell】いろいろな文字コードのテキストファイルを簡単に読み込む

Get-Contentコマンドレットに-Encodingオプションを付けて文字コードを指定すれば、簡単に読み込むことができる。とりあえず、3種類の文字コードShift_JIS、BOM付きUTF-8、BOM付きリトルエンディアンUTF-16)からなるテキストファイルを作成する。

PS > "石見舞菜香かわいい" | Out-File -Encoding default Shift_JIS.txt
PS > "石見舞菜香かわいい" | Out-File -Encoding utf8 UTF-8wb.txt
PS > "石見舞菜香かわいい" | Out-File -Encoding unicode UTF-16lewb.txt
PS > Format-Hex Shift_JIS.txt
           パス: ○○○\Shift_JIS.txt
           00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
00000000   90 CE 8C A9 95 91 8D D8 8D 81 82 A9 82 ED 82 A2  Ωةí¢
00000010   82 A2 0D 0A                                      ¢..
PS > Format-Hex UTF-8wb.txt
           パス: ○○○\UTF-8wb.txt
           00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
00000000   EF BB BF E7 9F B3 E8 A6 8B E8 88 9E E8 8F 9C E9  ç³è¦èèé
00000010   A6 99 E3 81 8B E3 82 8F E3 81 84 E3 81 84 0D 0A  ¦ãããã..
PS > Format-Hex UTF-16lewb.txt
           パス: ○○○\UTF-16lewb.txt
           00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
00000000   FF FE F3 77 8B 89 1E 82 DC 83 99 99 4B 30 8F 30  .þów.ÜK00
00000010   44 30 44 30 0D 00 0A 00                          D0D0....

実際に読み込んでみる。以下の例のとおりDefaultはShift_JISを示すはずなのだが、実際はBOMで判定をしているらしく、柔軟に判定されていることがわかる。

PS > Get-Content -Encoding Default Shift_JIS.txt
石見舞菜香かわいい
PS > Get-Content -Encoding Default UTF-16lewb.txt
石見舞菜香かわいい
PS > Get-Content -Encoding Default UTF-8wb.txt
石見舞菜香かわいい
PS > Get-Content -Encoding UTF8 Shift_JIS.txt
�Ό����؍����킢��
PS > Get-Content -Encoding UTF8 UTF-8wb.txt
石見舞菜香かわいい
PS > Get-Content -Encoding UTF8 UTF-16lewb.txt
石見舞菜香かわいい
PS > Get-Content -Encoding Unicode Shift_JIS.txt
캐ꦌ醕�膍ꦂꊂꊂ਍
PS > Get-Content -Encoding Unicode UTF-8wb.txt
石見舞菜香かわいい
PS > Get-Content -Encoding Unicode UTF-16lewb.txt
石見舞菜香かわいい
PS > Get-Content Shift_JIS.txt
石見舞菜香かわいい
PS > Get-Content UTF-8wb.txt
石見舞菜香かわいい
PS > Get-Content UTF-16lewb.txt
石見舞菜香かわいい