Windows 10 Ver1903以降のメモ帳 文字コードについて
Windows Ver1903からメモ帳を保存する際の文字コードが一部変更になりました。
念願だった「UTF-8」のBOMなしが採用され、
デフォルトが「ANSI」から「UTF-8」になりました。
ここでは、Ver1903以降のメモ帳で使用されている文字コードについて記載します。
BOM とは
バイトオーダーマーク 符号化の種類(文字コード)を判別するため先頭につける符号
先頭に付加される。エラーを起こすことがある。
ANSI
日本語Windowsでは 基本的に「Shift_JIS」
Microsoft社により定められたコード
マイクロソフト独自規格
CP932 ということも
1バイト(英数)~2バイト(日本語)
UTF-16 LE
UTF-16 リトルエンディアン
Unicodeの一種
以前のメモ帳にあったUnicode
16ビットの可変長マルチバイト
2バイトで表現できる文字は2バイトで、それ以外の文字(絵文字等)は4バイトで表現
基本的に英数も日本語も2バイトで表現されている。
データの順番がビッグエンディアンの逆になる。
2バイトのBOMが付加されています。
UTF-16 BE
UTF-16 ビッグエンディアン
Unicodeの一種
以前のメモ帳にあったUnicode big endian
データの順番がリトルエンディアンの逆になる。
2バイトのBOMが付加されています。
UTF-8
Unicodeの一種
広く使われている。
標準として使用することが多い。
8ビットの可変長マルチバイト
英数は1バイトで表現し、日本語は3バイトで表現、
2バイト(キリル・ギリシャ文字等)や4バイト文字(絵文字等)もある。
UTF-8Nと表記することもある。
WindowsでBOMなしが採用され以前までのメモ帳にはありませんでした。
UTF-8(BOM 付き)
Unicodeの一種
UTF-8に3バイトのBOMが付加されたもの
以前のメモ帳にあったUTF-8です。
BOMが付加されていたため使用しづらい文字コードでした。
基本:1バイトは、8ビットです。
UTF-8は、日本語が3バイトで保存されるためデータ量が大きくなる欠点があります。
Windowsバッチファイルでは、基本的にANSIで保存します。UTF-8で保存すると英数は問題ありませんが、echo日本語表示が文字化けします。
ステータスバーで使用されている改行コードと文字コードが確認できます。
Windows メモ帳の現在の規定値
改行コード:CRLF ・ 文字コード:UTF-8
改行コードについて
CRLF
復帰+改行
Windows メモ帳規定値
CR
復帰
Macintosh Mac OS
LF
改行
UNIX系・LINUX
Windowsメモ帳では、CRLFの保存になるようです。「TeraPad」を使用して他の改行コードで保存してみたらメモ帳でも認識していました。