Meadow勉強中(7) 文字コード

文字コードについて。

ファイルを開いた際は自動判別

ファイルを開いたときにどの文字コードで開くかは、Emacsが自動で判別してくれるので、通常は気にしなくて良い。

ただ、判別に失敗することもあるらしい。そのときはどうすればいいんだろう。まだわからない。

現在の文字コードを確認

現在開いているバッファの文字コードがどうなっているかは、ウィンドウ下のモードラインに表示されている。モードラインの左端に注目。

記号 文字コード
u UTF-8, UTF-16-BE, UTF-16-LE
E EUC-JP
S Shift_JIS
J ISO-2022-JP (いわゆるJISコード)

他にも中国語とかのがたくさんあるけど、普通に使うのはこの辺。困ったのは、"u"とあってもUTF-8なのかUTF-16なのかわからない点。もっと詳しく調べるコマンドあるのかな。

それと改行コード。モードライン左端の文字コードの記号のすぐ右隣が、改行コードを表している。

記号 改行コード
(Mac) CR
(Unix) LF
\ CR+LF

こんな感じ。

だから例えば、UTF-8でLF改行の場合は"u(Unix)"、Shift_JISでCRLF改行の場合は"S\"となる。

文字コードを変更する

現在のバッファの文字コードを変更するには、C-x RET fとやって、そのあと新しい文字コードを入力する。RETはEnterキーのこと。

"utf-8"とかの名前で入力する。TABキーで入力補完ができるので入力しやすい。同時に改行コードも指定したいときは、"utf-8-unix"のように入れる。

追記 : 文字コードを指定してファイルを読み込む方法

上で

ただ、判別に失敗することもあるらしい。そのときはどうすればいいんだろう。まだわからない。

と書いてたけど、コマンドがあった。C-x RET c。このコマンドのあと、さらに文字コードを指定する。そして、C-x C-fでファイルを開く(またはC-x C-vで現在開いているファイルを再読込)。これで、自動判別に失敗するファイルも、自分で好きな文字コードを指定して開くことが出来る。

追記 : 現在の文字コードを調べる方法

上で

困ったのは、"u"とあってもUTF-8なのかUTF-16なのかわからない点。もっと詳しく調べるコマンドあるのかな。

と書いてたけど、コマンドがあった。C-h C RET。これで、現在のバッファの詳細な文字コードの名前がわかる。