(ちょっとメモ)文字コード、文字集合、エンコードについて(2)

続きです。
前回の(ちょっとメモ)文字コード、文字集合、エンコードについて(1)では、
1978年の「ISO-2022-JP(いわゆる JIS、 JISコード)」誕生まででした。

日本語が使えるパソコンのために「Shift_JIS」が生まれた

1980年代、日本では、16ビットCPU搭載のパソコンが続々発売されたんだそうです。
(16ビット=2バイトなので、日本語が表示できるパソコンってことでしょうね。日本語は「2バイト言語」って言われてます。詳しくは前回を参照に。)

1982年、「三菱Multi16」というパソコンに日本語対応OSを搭載するために、Microsoft社、アスキー社、三菱電機らが共同開発した文字コードが「Shift_JIS」
「S_JIS(エスジス)」などとも呼ばれます。

半角英数字(1バイト)と漢字などの全角(2バイト)の文字を、エスケープシーケンスなしで混在できるように(容量や処理時間の短縮のため)、工夫されたコードです。
( ISO-2022-JP(いわゆる JIS)は、エスケープシーケンスを使ってた。(前回参照)
いわゆるJIS を元に、漢字の符号位置を移動(シフト=Shift)させて、符号空間の隙間に押し込むという方法なので「Shift _ JIS」と呼ばれたんだって。

「Shift_JIS」は、MS-DOS 、Windows 、Mac OS などに採用され、1980年代〜90年代の日本語OSの標準になったのだそうです。

で、日本でパソコン売ってる各社は、
自分トコのパソコンだけで使える文字コード=「Shift JISの亜種」と言えるモノを作りました。
(これ、メーカーの性(さが)よね…他の製品との差別化とか言って、お客の事は考えない)
これが 機種依存文字。NEC機種依存文字、IBM拡張文字、Apple拡張文字などがあり、OS間での互換は当然ありません(文字化けの原因)。

「EUC-JP」というのもありました

「EUC-JP」は「日本語EUC」とも呼ばれ「EUC」は Extended UNIX Code の頭文字。
UNIX 上で日本語を使うために作られた文字コードで、1985年生まれです。
これも、いわゆるJIS を元に ASCII(1バイト)と日本語(2バイト)を共存させるために「AT & T社」が独自改良したものだそうです。
日本語のUNIX系OSの標準で広く利用されていましたが、最近の流れで、UNIXも「UTF-8」にシフトしているらしいです。
EUC-KR(韓国語)、EUC-CN(簡体中国語)などもあるそうです。

世界中の文字が扱える「 Unicode 」登場

そして1番新しい、将来メインになる(はず)のが「Unicode(ユニコード)」です。

「Unicode」は文字コードと言うより「符号化文字集合」と言っちゃったほうが良いのかな。
これのエンコーディング(「文字符号化方式」「character encoding scheme, CES」)として、
「UTF-8」「UTF-16」「UTF-32」などがあります。 そのうち、インターネットで最も一般的に利用されているのが「UTF-8」

「Unicode」が生まれた理由は、
各国語のOSができ、文字コードもバンバン増えて行って、国どうしの情報交換の際に、トラブルや、コスト面のデメリットが発生してきたから。
これを解消するために、世界中の文字を1セットに収録しようと、1980年代から作られたそうです。立ち上がったのは「ISO(国際標準化機構)」と「ゼロックス&民間企業たち」

その流れは、
★1984年から、ISO(国際標準化機構)が「世界中の文字を1つの字集合として扱える文字コード規格を作る」と決め、「ISO 10646」として、ドラフトを作りはじめました。
★これとは別に、ゼロックス社が1987年頃から同じ主旨で文字コードの開発を開始します。この名称が「Unicode」=「ユニバーサル(universal)な文字コード(code)」ってことでしょうね。
★1991年初期、こっちの(ゼロックスの)方式に賛同する民間企業(ゼロックス、マイクロソフト、アップル、IBM、サン・マイクロシステムズ、ヒューレット・パッカード、ジャストシステムなど)によって「ユニコード・コンソーシアム」が設立されます。
★で、「そんなら ISO 10646 と Unicodeを1本化しよう」というコトになり、1991年10月に、Unicode 1.0ができたそうです。

この「みんなで作る」っていうのがイイね!
その後どんどん改良されて、2012年1月では、Unicode 6.1.0 に Ver.up してるそうです。

Unicode 2.0以降では、21ビットの文字集合になったそうです。
(1バイト=7ビットとして3バイトでっせ。容量デカイな。)
2の21乗ですから、2,097,152種類もあるんですなあ! まあ、そのくらいじゃないと多国語の収容はムリだよね。

収録されている文字は、各国から持ち寄られた、それぞれの言語の文字集合を、ユニコード・コンソーシアムが取捨選択しているんだって。
日本語は、JIS X 0201、JIS X 0208、JIS X 0212、JIS X 0213の内容を収録。

で、「漢字」なんですが。
中国語・日本語・朝鮮語での、同じ意味や起源の漢字は「統合」されたんだって。
これが、微妙にカタチ(点や画の向きとか長さとか)が自国で使ってるのと違ってて、各国とも不満が出とるそうです。そりゃ出るわ。(よ〜く見ると違う漢字に見えるのって、イヤですよね)
まあしかし、ネット上だけのことだし、文字化けしないで使えるほうがプライオリティ高いかなw。
そのうち、それぞれの国にマッチしたものに変更されて行くかも。(また容量が増えますね)

インターネットでもっとも一般的なのが「UTF-8」

「Unicode」のエンコーディングのうち「UTF-8」が、ネット上の標準になっています。
Linuxなど、OSの標準文字エンコードとしても使われているそうです。
このエンコード方式は、ケン・トンプソン氏が考案したそうです。(UNIX OSを作った人だって)
1995年ごろ誕生。(…ケンさんじゃなくて、よ)

「UTF-8」は、ASCIIと同じ部分は1バイト、その他の部分を2〜6バイトでエンコードするのだそうです。(6バイトって…、こりゃまた容量デカイっすね)

で、漢字や仮名などには3バイト使うんだって。
これまで2バイトでいけてたのにデータ量が1.5倍に増えちゃう。まいっか。最近はCPUも高速だし。

で、「UTF-8」で扱える文字の種類が下の表です。めっちゃたくさんの国の文字が表示できますね。
(この↓表は、ウィキペディアから引っ張ってきました。ちょっとタイトルの文言を編集してるけど)

Unicode 文字種 日本語の文字集合(その内容がUnicodeのどこに当てはめられているか)
JIS X 0201 JIS X 0208 JIS X 0212 JIS X 0213
U+0000 - U+007F ASCII Roman(円記号・オーバーライン以外) - - -
U+0080 - U+07FF ラテン、ダイアクリティカル、ギリシャ、 キリール、アルメニア、ヘブライ、アラビア、 シリア、ターナ 円記号 非漢字の一部 非漢字の一部 非漢字の一部
U+0800 - U+7FFF インド系諸文字、
句読点、学術記号、絵文字、東アジアの諸文字、全角半角形
オーバーライン、Kana 残りの全て 残りの全て 大半
U+10000 - U+1FFFFF 上に含まれない漢字、古代文字 - - - 第3・第4水準漢字の一部

この表でグリーンの太字にしたのが、日本語表現で主に使う文字種。
これを見ると、漢字は「東アジアの諸文字」のカテゴリーに入っている事がわかりますね。

私はMac使いなんですが、OS X (10) にしたとき、システムフォントに中国漢字やハングルや、アラビア文字などが入ってて、「何だコレ?」と思いました。
でも、YouTubeやFBで、英語以外の言語のコメントを表示している(読めないけどw)のを見て、
ある意味感動したんです。
私が日本語でコメントしたのは、今までなら外国語圏の人にとっては「化けて」いたのが、ちゃんと日本語として表示できてるのね。読める人には呼んでもらえる。こりゃスゴいなと思いました。

ただ、ユニコードの時代でも、まだ機種間の文字の互換はイマイチですよね。
Winで保存したExcelファイルが、Macで開くとバケバケだったり。
すべてのプラットフォームで同じ文字コードってムリなのかな?
(そんなことしたら、同じOSになっちゃうか…)

余談:byteの次の単位は…メートル法に準じてるけど、やっぱ2進法

1バイトまでは2進数だけどその先はなぜか10進数(メートル法)に準じて行く不思議について、
「[14-3] コンピュータ上の単位について(ビット、バイト、メガ、ギガ)に移動+まとめました。
そちらをご覧ください。
 ブックマークしてたらごめん。

今回参考にさせていただいたサイト

次回予告

「文字コード」関連を、2回にわけてメモりましたが、んーまだ未消化。
ただ、文字をコンピュータで表示するために、先人がこんだけ知恵を絞ってくれたんだと、
わかった事が大収穫でした。

次回は<meta>要素に戻って、「name属性」を使います。
これはサイトの説明文を書いたり、著者名を書いたり、サイトに関する情報を書いておく属性です。

関連記事
この記事をはてなブックマークに追加

やる気を保つためにランキングに参加しています。
応援してくださると すっごいやる気を出します! (笑)

初心者にも使いやすい(と思う)レンタルサーバー

最近よく「レンタルサーバーはどこがいい?」とご質問が来ます。
自分でも使っていてオススメなのはミニバード。管理画面がわかりやすくていい感じす。
仕事で使ってるロリポップもわかりやすい管理画面で、初めてでもすんなり使えると思います。
両方とも、なんといっても料金が安いです。初めてだとなるべく安いほうがイイですからね。

それよりちょっと料金は高いけど、高スペックでコスパが良く、信頼性も高いサーバといえば、やはりさくらのレンタルサーバと、XSERVER(エックスサーバー)だと思う。この2つは老舗でユーザーも多いので、質問する場がたくさんあり、初心者の方でもイケるだろうと思います。

レンタルサーバーは、たくさんあり過ぎて迷いますよね。近いうちに、初心者にも良さげなサーバーについて記事にまとめます。*記事をアップしたらココにもリンクを貼ります。

スポンサーリンク

コメントの投稿

スポンサーリンク
最新記事
Category
オススメの本
Links
Calendar
07 | 2017/08 | 09
- - 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31 - -
Archive
RSS Link
Profile

yuki★hata

Author : yuki★hata
せめて月1回の更新をめざします~。

メールフォームはこちら

スポンサーリンク
スポンサーリンク
Copyright © ほんっとにはじめてのHTML5とCSS3 All Rights Reserved.