メディアコンテンツインフラ テスト勉強 (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は概念的に複数の「面」から構成されると考えて製作されており、

  1. 基本多言語面 : 通常使われる文字は大体ここ。英語ではBasic Multilingual Plane となりBMPとも呼ばれる。

  2. 補助多元語面(これが第1面と呼ばれている): 歴史的な古い字や音楽、数学表記用文字などの特殊用途の文字が格納されている。

  3. 補助表意文字面(これが第2面と呼ばれている): BMPに入りきらない文字である「CJK文字」が格納されている。ここに漢字も含まれる。

からなる。


文字符号化スキーム(形式、方式)

 上記にUnicodeといった「文字コード」を述べてきた。文字を「文字コード」で表すことで、コンピュータも文字を扱えるようになる。ただ、コンピュータが文字を扱うための条件は「データが数値であること」ともう一つ、「8bit長単位の数値であること」という条件がある。

 16進数を2進数に変換した結果8bit長単位の数値になってくれればいいという意味なのであるが、基本的に2桁の16進数を2進数に直すと8桁の長さになるためこれで問題はないはず。
 なのだが、文字コードを使用する目的や環境に応じて、この「16進数の文字コードを2進数で8bit単位長の数値に変換する」という方式にいくつか種類が存在する。

 文字符号化スキームの種類は大きく分けて"UTF-8", "UTF-16", "UTF-32"の3つである。

 「文字符号化"形式"」か「文字符号化"方式"」かにはwikipediaによると

文字符号化形式がプログラム内部で文字を扱う場合に符号なし整数として文字を表現する方法なのに対し、文字符号化方式は入出力時にバイト列として表現する方法である。

https://ja.wikipedia.org/wiki/Unicode

という違いがあるらしいが、基本的に気にする必要がある人はごく少数に思える。一旦、両方をまとめて文字符号化スキームと呼ぶことにしている。


ハイパーテキスト

 マークアップ言語という専用の書式を用いて記述することで、"テキストを書くだけで" あらかじめ保存しておいた画像を「参照」という仕組みによりファイル上に表示したり、文字の大きさや色を変更したりすることが出来るテキスト、及びこのような仕組みのこと。
 ハイパーテキストの一番の存在意義は、上に挙げた「参照」を用いることが出来る点である。

 HTMLによるwebページの表示がハイパーテキストの代表的な例。
 wordでも画像の表示やフォントサイズ・色の変更が出来るが、非常にUIが分かりやすくなっているだけでwordも仕組みを紐解けばwebページ同様にHTMLと同じくハイパーテキストである"XML"というハイパーテキストによって表現されている。word文書を保存すると"oooo.docx"という拡張子で保存されるが、このDOCX形式と呼ばれるファイルはXMLで記述されたテキストファイルやフォント表、スタイル情報や設定、画像などのメディアファイルをzipによって圧縮したものである。



いいなと思ったら応援しよう!