Windows におけるデフォルトのテキストファイルフォーマット

本資料では、Windows 環境における Visual Studio および メモ帳(Notepad) のデフォルトのテキストファイルフォーマットについてまとめる。エンコーディングや改行コードの違いを理解することで、適切な形式でテキストを作成し、他の環境との互換性を考慮したファイル管理が可能になる。


1. Visual Studio のデフォルトテキストファイルフォーマット

1.1 エンコーディング

Visual Studio で新規作成されたテキストファイルのデフォルトのエンコーディングは、UTF-8 (BOMなし) である。ただし、以下の条件により異なる設定が適用されることがある。

バージョンデフォルトのエンコーディング
Visual Studio 2015以前UTF-8 with BOM
Visual Studio 2017以降UTF-8 (BOMなし)

BOM (Byte Order Mark) とは?
BOM はファイルの先頭に付加される識別情報であり、エンコーディングを明示的に示すために使用される。しかし、UTF-8 では BOM を不要とするシステムも多く、互換性の観点から Visual Studio では BOM なしがデフォルトになった。

1.2 改行コード

Visual Studio での改行コードは、デフォルトで CRLF (\r\n) となる。ただし、Git や Unix 系のツールと連携する場合は LF (\n) に変更することも可能。

1.3 エンコーディングと改行コードの変更方法

エンコーディングを変更するには、以下の手順を実施する。

  1. Visual Studio で [ファイル] > [名前を付けて保存] を選択
  2. [エンコード付きで保存] をクリック
  3. 以下のエンコーディングから選択
  • UTF-8 (BOMなし)
  • UTF-8 with BOM
  • UTF-16 LE
  • UTF-16 BE
  • ANSI(Shift_JIS)
  1. 改行コードの変更は、[編集] > [詳細] > [改行の変換] から変更可能

2. Windows メモ帳(Notepad)のデフォルトテキストファイルフォーマット

2.1 エンコーディング

Windows メモ帳のデフォルトエンコーディングは、OS のバージョンによって異なる。

OS バージョンデフォルトのエンコーディング
Windows 7 / 8ANSI(Shift_JIS)
Windows 10 (2019年以降)UTF-8 (BOMなし)
Windows 11UTF-8 (BOMなし)

Windows 10 のバージョン 1903(2019年リリース)以降、デフォルトのエンコーディングが ANSI(Shift_JIS)から UTF-8 (BOMなし) に変更 され、国際的な互換性が向上した。

2.2 改行コード

Windows メモ帳のデフォルトの改行コードは CRLF (\r\n) である。
Windows 10 の新しいバージョンでは、Unix 系の LF (\n) だけの改行も正しく認識できるようになった。

2.3 エンコーディングの変更方法

メモ帳でエンコーディングを変更するには、以下の手順を実施する。

  1. [ファイル] > [名前を付けて保存] をクリック
  2. 「エンコード」のプルダウンメニューから選択
  • UTF-8 (BOMなし)
  • UTF-8 with BOM
  • UTF-16 LE
  • UTF-16 BE
  • ANSI(Shift_JIS)
  1. 「保存」をクリック

3. Visual Studio とメモ帳のフォーマット比較表

項目Visual StudioWindows メモ帳
デフォルトエンコーディングUTF-8 (BOMなし)UTF-8 (BOMなし)
BOM (Byte Order Mark)なし(変更可能)なし(変更可能)
改行コードCRLF (\r\n)CRLF (\r\n)
エンコーディング変更方法「エンコード付きで保存」「名前を付けて保存」時のプルダウンメニュー
対応OSWindows 7 以降Windows 7 以降

4. まとめ

  • Visual StudioWindows メモ帳 のデフォルトのエンコーディングは UTF-8 (BOMなし) に統一されている。
  • ANSI(Shift_JIS) は Windows 7 以前のメモ帳ではデフォルトだったが、現在は非推奨。
  • 改行コードは Windows 標準の CRLF (\r\n) であるが、Visual Studio では LF (\n) に変更可能。
  • エンコーディングや改行コードを明示的に指定することで、異なる OS やソフトウェアとの互換性を向上できる。

C#

Posted by hidepon