Linuxユーザの立場から、役立つ情報や困ったときの解決方法を分かりやすく、かつ簡潔に記事にまとめています。主に、Ubuntu 8.04(→9.04)やCentOS 5.2(→5.3)で確認したことですが、他のディストリビューションでも応用できると思います。内容は(1)設定ファイルの書き方(2)役立つソフトウェア紹介やインストール方法(3)便利なコマンドの使い方や活用例(4)困ったときの解決方法です。このページの末尾にキーワード別で記事を分類してあります。また、真上の「ブログ検索」フォームからブログ内の記事を検索できます。

2008年11月17日月曜日

漢字コードと改行コード このエントリーを含むはてなブックマーク

本記事では、漢字コードを変換するツールnkfの使い方についてまとめる。

コンピュータでは、文字は数値として内部で処理されている。日本語の漢字やひらがな、カタカナなど全角文字の数値表現は、jisコード、EUCコード、Shift-jisコード、UTFコードなど複数の種類の表現方法がある。したがって、たとえばEUCコードで文字を扱っているシステムで、UTFコードで書かれたテキストファイルを読もうとすると文字化けが起きて、ただしく表示されないことがある。ゆえに、システムで扱っている漢字コードと異なるコードで表現されたテキストファイルを読むためには、適切な漢字コードに変換する必要がある。

通常のテキストファイルは、文字の並び(文字列)として表現される。この文字としては、漢字やひらがななどの目に見える文字だけでなく、空白文字やタブ文字、改行文字などが含まれる。改行文字は、「その文字が置かれた位置から、改行して表示せよ」という意味を持った文字である。この改行文字は漢字コードのときと同じようにいくつかの種類がある。それらは、Unix改行形式、Windows改行形式、macintosh改行形式である。したがって、windows改行形式で書かれたテキストファイルをunixで読むために、unix改行形式に変換しなければならないことがある。

以下に、nkfコマンドの書式、オプションの一覧、使用例をまとめる。

[書式]
$ nkf オプション ファイル名 > 出力ファイル名

[オプション]
次のオプションで漢字コードを指定する。
j       Jis(ISO-2022-JP)コード
e     EUCコード
s     Shift-jisコード
w    UTF-8コード

次のオプションで改行コードを変換する。
Lu    Unix改行形式(LF)に変換
Lw   Windows改行形式(CR/LF)に変換
Lm    Macintosh改行形式(CR)に変換

その他
g    どの漢字コードで表現されたテキストファイルか推測する。

[使用例]
(1)漢字コードを推測する。
$ nkf -g  input.txt

(2)EUCコードに変換する。
$ nkf -e  before.txt   > after.txt

(3)UTFコード、unix改行形式に変換する。
$ nkf -w -Lu before.txt  > after.txt

0 コメント:

キーワード

キーワード別に記事を分類してあります。クリックすると各キーワードに該当する記事たちが表示されます。

筆者について

自分の写真
趣味はコンピュータ、音楽、写真などです。