IT技術者の基礎知識 "テキスト/バイナリファイル、文字コード、改行コード"について その1
株式会社テイクーワンT.Tです。
今回はIT技術者として理解しておくべき基礎知識である"テキスト/バイナリファイル、文字コード、改行コード"について解説します。
テキスト/バイナリファイル
コンピュータのファイルには下記の2種類があります。
テキストファイル
- 文字通りのテキストファイル(.txt)
- プログラムのソースコード(.c、.cpp、.h、.java、…)
- 各種スクリプト(.py、.sh、…)
- HTML(.htm、html、…)
- XML、JSON、YAMLなどなど
バイナリファイル
- 実行ファイル、ライブラリ(.exe、.dll、 .so、…)
- 画像(.jpg、.png ...)
- 圧縮ファイル(.zip ...)
- などなど
そもそもファイルとは
下記のように0と1の情報が保存されています。
0と1では見にくいので16進数にします。
この値ですがASCIIコードという文字コードに従っていて下のようになり、"test"という文字列になります。
文字コードに従っていて文字列として読めるものを"テキストファイル"といい、それ以外のファイルは"バイナリファイル"といいます。
文字コードとは
文字コードとは文字の種類に番号をふったものです。代表的なものにASCIIコードがあります。
ASCIIコード
下はASCIIコード表です。
※出典は下記からです。
ASCII(アスキー / US-ASCII)とは - 意味をわかりやすく - IT用語辞典 e-Words
赤で囲ったように、0x74は"t"、0x65は"e"、0x73は"s"であることがわかります。ASCIIコードでは0x74を"t"に、0x65を"e"に、0x73を"s"に割り当てていると言うことになります。
逆にいうとASCIIコードでは"t"を0x74に、"e"を0x65に、"s"を0x73に割り当てていることになります。
※文字コードが異なると"t"、"e"、"s"といった文字が別の値に割り当てられていることになります。
文字コードの種類
文字コードには下記のようにいろいろな種類があります。文字の種類に対する番号の振り方がそれぞれ違います。
- ASCII
- 日本語の文字コード
- JIS
- Shift JIS
- EUC-JP
- などなど、、、
- Unicode
- UTF-8
- UTF-16
- UTF-32
- などなど、、、
- などなど、、、
長くなりそうなので、今回はここまでにします。次回は同じテキストファイルをテキストエディタとバイナリエディタそれぞれでみるとどうなるか、改行コードとは何か、文字化け等について解説します。
参考情報
記事の中で使用しているテキストエディタ
サクラエディタ (sakura-editor.github.io)
ASCII(アスキー / US-ASCII)とは - 意味をわかりやすく - IT用語辞典 e-Words
知っておきたい! 文字コードの基礎知識 ……ASCII,シフトJIS,Unicode etc.:新刊ピックアップ|技術評論社 (gihyo.jp)