Visual Studio 2022がデフォルトで作成するソースファイルの、文字コードと改行コードを調べた。 まず、Visual Basicのプロジェクトを新規作成する。初期状態でForm1.vbというファイルが作成済みであるので、その1行目に「' 文字コード」とだけ追記して(次のようになるはず)、保存。ソリューションを閉じる。
' 文字コード Public Class Form1 End Class
このファイルをPowerShellのFormat-Hexコマンドレットでダンプしてみる。
PS > Format-Hex .\Form1.vb パス: ○○○\Form1.vb 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 00000000 EF BB BF 27 20 E6 96 87 E5 AD 97 E3 82 B3 E3 83 ' æåã³ã 00000010 BC E3 83 89 0D 0A 50 75 62 6C 69 63 20 43 6C 61 ¼ã..Public Cla 00000020 73 73 20 46 6F 72 6D 31 0D 0A 0D 0A 45 6E 64 20 ss Form1....End 00000030 43 6C 61 73 73 0D 0A Class..
先頭に「EF BB BF」が付いていることが確認できる。この3バイトはBOM付きUTF-8を示すものである。「0D 0A」が四箇所で確認でき、改行コードはCR+LFであることがわかる。 BOMの後の4文字は「' 文字」としているが、「'」(0x27)、「 」(0x20)、「文」(0xE69687)、「字」(0xE5AD97)であるため(文字の後の16進数はすべてUTF-8)、BOMのとおりに、このファイルはBOM付きUTF-8で保存されていることがわかる。