文字コードを調べる

Linux上でエディタに gedit を使い、hdコマンドで文字コードを調べます。

今回は簡単のため日本語入力をオフにして行います。Linux上のエディタは UTF-8 という文字コードで保存しますが、この文字コードは英数字の 部分が ASCII と共通です。これで ASCII(正確にはISO-8859-1)の文字コードを確認します。

ファイル作成と保存

調べたい文字列を入力して「保存」をします。

たとえば

Hoge

これをユーザーホームに ctest01 という名前で保存します。

hdコマンド

コマンドライン端末を使います。

[アプリケーション]-[アクセサリ]-[端末]で起動されるソフトウェアです。

コマンドライン端末はターミナルとかコンソールなどとも呼ばれます。

ここで起動されたのは具体的にはgnome-terminalという名前のソフトです。これはターミナルエミュレータというジャンルのソフトウェアです。ターミナルという言葉を日本語に訳したものが「端末」です。シェルを使ってコンピュータを操作するソフト,つまりキーボードから入力するコマンドで操作をするものです。

16進で表示するには hd コマンドです。$ の後に hd スペースを空けてその後ろにファイル名を付けます。

よく分からない時は、このページ下部の「コマンドライン端末の使い方」参照

z1c2s@star00:~$  hd ctest01 [Enter]

hd:コマンドの名前です。ctest01:自分が作ったファイルの名前(これはutf-8です)

z1c2s@star00:~$   hd ctest01 [Enter]
00000000  48 6f 67 65 0a                                    |Hoge.|
00000005

もし、hd コマンドがなければ od コマンドも使えます。od の後にスペースを空けて -tx1 というオプションを指定して、その後ろにファイル名を付けます。(オプションの意味は -t:タイプ x:16進 1:1バイトずつ)

やってみてください

ctest01 に文字を書き加えたり変更して保存し、hd でどう変化したか確認します。

数字には16進数で30台でわかりやすい。

Hoge01234
z1c2s@star00:~$   hd ctest01 [Enter]
00000000  48 6f 67 65 30 31 32 33  34 0a                    |Hoge01234.|
0000000a

スペースにも文字コードがある。

Hoge 012 34 abc
z1c2s@star00:~$   hd ctest01 [Enter]
00000000  48 6f 67 65 20 30 31 32  20 33 34 20 61 62 63 0a  |Hoge 012 34 abc.|
00000010

改行にも文字コードがある。

Hoge
012
34
abc
z1c2s@star00:~$   hd ctest01 [Enter]
00000000  48 6f 67 65 0a 30 31 32  0a 33 34 0a 61 62 63 0a  |Hoge.012.34.abc.|
00000010

コマンドライン端末の使い方

タイトルバーには hoge@vine41:~$ とありますが,hogeの部分はユーザー名が入ります。vine41はコンピュータの名前(ホスト名)です。:と$の間 は現在作業中の場所(カレントディレクトリ)を表示しています。

メニューバーの下には, hoge@vine41:~$ とありますがこれはプロンプトと呼ばれます。$ が出ているとコンピュータは入力を受け付けるという状態になっているということです。~/home/hoge の短縮形でユーザーホームのことです。$ の後にコマンドを入力して[Enter]を打つとコンピュータから反応があります。

たとえば,date というコマンドを入力すると,日時を教えてくれます。

hoge@vine41:~$ date[Enter]

date[Enter]の部分がキーボードからの入力です。[Enter]は[Enter]キーを打つことを表しました。実際には見えません。hoge@vine41:~$はプロンプト。実際は色の区別はありません。

hoge@vine41:~$ date[Enter]
2009年  2月 12日 木曜日 13:34:26 JST
hoge@vine41:~$ 

反応がありました。日時を表示した後,再びプロンプトを出してコマンドを受け付けることを示しています。

聖愛中学高等学校
http://www.seiai.ed.jp/
Jun. 2011