メディアコンテンツインフラ テスト勉強 (1)
1. テキスト(文字コード、ハイパーテキスト)
文字コード
テキストをコンピュータで扱う際、各文字1つ1つに対し番号が登録されていた方が、コンピュータにとっては扱いやすい。この文字1つ1つに対して登録されている番号のことを文字コード(コードポイント、文字番号)と呼ぶ。
文字コードにはいくつか種類があり、原初の文字コードはASCII(American Standard Cord for Informaiton Interchange)である。これに日本語を追加する過程でJIS、Shift-JIS、EUC-JPといった文字コードが登場してきたが、現在はUnicodeという世界標準の文字コードが主に利用されている。
文字コードの集合である"Unicode"や"JIS"を指して「文字集合」と呼ぶこともある。
Unicode
Unicodeは世界標準の文字コードであり、英語、日本語を含め世界で使われる全ての文字にコード(番号)を振るような文字集合を作成することを目的に作られた。Unicodeであれば世界のほぼすべての文字を表現することが可能である。
Unicodeの文字コードは「これはUnicodeの文字コードである」という意味でコードの最初に"U+"という接頭辞を付けて記述することが多く、このU+の後に4~6桁の16進数の番号が続く。
例えば、アルファベット小文字の「a」はU+0061、八分音符「♪」はU+266Aである。
Unicodeは概念的に複数の「面」から構成されると考えて製作されており、
基本多言語面 : 通常使われる文字は大体ここ。英語ではBasic Multilingual Plane となりBMPとも呼ばれる。
補助多元語面(これが第1面と呼ばれている): 歴史的な古い字や音楽、数学表記用文字などの特殊用途の文字が格納されている。
補助表意文字面(これが第2面と呼ばれている): BMPに入りきらない文字である「CJK文字」が格納されている。ここに漢字も含まれる。
からなる。
文字符号化スキーム(形式、方式)
上記にUnicodeといった「文字コード」を述べてきた。文字を「文字コード」で表すことで、コンピュータも文字を扱えるようになる。ただ、コンピュータが文字を扱うための条件は「データが数値であること」ともう一つ、「8bit長単位の数値であること」という条件がある。
16進数を2進数に変換した結果8bit長単位の数値になってくれればいいという意味なのであるが、基本的に2桁の16進数を2進数に直すと8桁の長さになるためこれで問題はないはず。
なのだが、文字コードを使用する目的や環境に応じて、この「16進数の文字コードを2進数で8bit単位長の数値に変換する」という方式にいくつか種類が存在する。
文字符号化スキームの種類は大きく分けて"UTF-8", "UTF-16", "UTF-32"の3つである。
「文字符号化"形式"」か「文字符号化"方式"」かにはwikipediaによると
という違いがあるらしいが、基本的に気にする必要がある人はごく少数に思える。一旦、両方をまとめて文字符号化スキームと呼ぶことにしている。
ハイパーテキスト
マークアップ言語という専用の書式を用いて記述することで、"テキストを書くだけで" あらかじめ保存しておいた画像を「参照」という仕組みによりファイル上に表示したり、文字の大きさや色を変更したりすることが出来るテキスト、及びこのような仕組みのこと。
ハイパーテキストの一番の存在意義は、上に挙げた「参照」を用いることが出来る点である。
HTMLによるwebページの表示がハイパーテキストの代表的な例。
wordでも画像の表示やフォントサイズ・色の変更が出来るが、非常にUIが分かりやすくなっているだけでwordも仕組みを紐解けばwebページ同様にHTMLと同じくハイパーテキストである"XML"というハイパーテキストによって表現されている。word文書を保存すると"oooo.docx"という拡張子で保存されるが、このDOCX形式と呼ばれるファイルはXMLで記述されたテキストファイルやフォント表、スタイル情報や設定、画像などのメディアファイルをzipによって圧縮したものである。