No.2ベストアンサー
- 回答日時:
現在文字コードが分化しているのは、歴史的事情です。
後方(過去への)互換性を重要視するわけでもなければ
今後は、Unicodeを使用していけばいいと思います。
以下はあまりにもな回答があったので。
まず、EBCDICやACIIなどの英数記号文字のコードがありました。
日本語としては、始めに1バイトのいわゆる半角カナの文字コード
JIS C 2660 現在では、JIS X 0201と言われるコードが、
次に2バイトで漢字やその他の記号も含められるようにコードが定められました。
JISコードの表現は、7bitのコードだけで表現できますが、英数字
からのコードを切り替えるために、SHIFT-IN/SHIFT-OUTという
当時のコンピュータにしてはかなり荷が重い処理体系でした。
当時80年代の一般的なパソコン、8bit CPUのころから日本語を
処理するためにまず、8bitのコードで JIS X 0201に相当する
半角カナを処理するようにしました。
さらに、そのような8bitのいわゆる半角カナのコードを活かしつつ
SHIFT-IN/OUTの処理をせずに2バイトの漢字コードも扱える
コード体系が考えられ、Shift JISと呼ばれるようになりました。
一方で、いわゆるUNIX系の処理装置で漢字が扱えるくらいCPU
パワーが上がっていました。UNIXは英数文字に対して強力な処理を
行うプログラムが数多くありましたが、それらをなるべく簡単に
日本語処理に適用させるために考えだされたのが、EUCです。
EUCは、JISコードの2バイト文字(いわゆる全角文字)の1バイト目
・2バイト目の両方共、7bit目を1にする(0x80~0xFF)コード
です。
ShiftJISに比較して、当時のASCIIだけに対応していたプログラムを
容易に日本語に対応できました。
しかし、8bitパソコンで広く使われていたいわゆる半角カナには
単純には対応できません。
この当時、80~90年代、パソコンはShiftJISコード、UNIX系はEUC
コードでした。
さらに、インターネット(日本ではその前身である JUNET)が
普及を始め、メールの日本語をどうするか議論がありました。
当時のメールを転送するプログラムは7bitの文字コードしか転送が
保証されていませんでした。
したがって、日本国内のローカルルールとして、電子メールは
JISコードで本文を書くと決められ、JISコードの処理系が実際に
広く運用されるようになりました。80~90年代初頭。
さらに国際化の対応として、JISのコードをISO表記にした
ISO-2022-JPと呼ばれるコード体系としました。
ここまでが日本国内の事情。
80年代の頃から、ASCII文字コードにない文字も使用している、西欧
(東欧)のコンピュータはASCIIコードの一部記号を独自の文字に
変更したり、日本のいわゆる半角カナのような拡張をしていました。
これらを統一し、更には世界中のコードを統一して運用できないか
というのが Unicodeの流れです。
Unicodeは紆余曲折があり、コンピュータで処理をするにも結構
大変な処理でした。しかし、コンピュータの処理能力向上や
文字コードを扱う部分を OSやライブラリで隠蔽化や簡略化を
行わせることが増え、Unicodeでも現在では、プログラムサイドからも
ユーザサイドからも問題なく処理しているコンピュータが多くなりました。
(少なくとも、Windows XP以上やLinux等が動くPC以上のコンピュータ)
以上が歴史的事情。
まとめると以下のようになります。
Shift JIS
8bitの頃から利用されていたいわゆる半角カナを活かすコード体系。
80~90年代のパソコンで利用。
ただし、プログラム的にはテクニックを要します。
WindowsもXPのころから内部は全てUnicodeになっているので、
いずれ盲腸のような扱いになると思われます。
EUC (EUC-jp)
UNIX系を中心として様々な処理系を日本語(JISコード)に使用された
コード。外国産のUnicode非対応のプログラムを簡単に日本穂対応
させる時に使用されています。これも盲腸的な扱いになるでしょう。
JIS (ISO-2022-JP)
インターネットメールを使用するために普及したコード体系。
初期の国際化を考慮したインターネットのプログラムはこの
コードを使用していました。
Unicode
コンピュータの歴史的には後発で紆余曲折を経たコードですが、
国際化の対応や、外国で実装されているプログラムの国際化対応
としては、このコードが現在はほとんど利用されている(はず)です。
この先は、Unicodeを使用するのが標準になると思われます。
ちなみに、60年代のコンピュータは大型かミニコンと言われ、互換性は
ないか、せいぜい IBMへの互換性だけです。
Webは確かにSGML等をベースにしたHTMLを定めましたが、文字コードや
エンコードにはメール等の国際化で使用したMIMEを使用していたので、
文字コードに関しては直接的には無関係です。
米国内の国防省や各省庁間のコード体系で非互換性は無かったわけでは
無いですが、現在のコード体系の分化の原因になっているわけではない
です。
今後、ましてや100年先なんぞは本格的にコンピュータの文字処理が始まって
せいぜい50年程度しか経っていないので、偉そうに予測なぞできません。が、
しかし、Unicodeには拡張の余地が大きく有り、新たに別の異なる文字体系を
作って別れるよりも、Unicodeの拡張に新たな文字体系を入れ込んで行くだけ
かと思いますよ。
先の回答は、質問への回答としても歴史的な説明としても、支離滅裂と思われる
部分が多々あったので、補足しています。
No.1
- 回答日時:
たぶんこのカテゴリーに回答される方は、みなさん、今更何をいっているんだ。
なんて感想をもたれているのでは?
その昔、昔、ある所に、おじいいさんと、おばあんさんが住んでいました。と言うコンピューターの世界では、そのレベルの話です。
なにせWebが開発されるきっかけがそこだからだよ~~~~
1960年代だっけ、コンピューターが軍事的にも重要視され、いろんなメーカーが開発したが、ほとんどのメーカーに互換性が無く、こっちで作ったファイルはあっちのコンピューターでは読めない、使えない。なんてことが起きていたんですよ。
軍事は最高国家機密なので、互換性を重視されることはなく、無視されていたが、それでもやはりアメリカの省庁間でのやりとりで、同じ軍なのに違うコンピューターを使うと、全くファイルが読めなくなる。そこでSGMLなんて物が考案された。今のXMLの元祖ですね。HTMLの元祖でもある。
そのよさは、プレーンテキスト(バイナリーとか特殊な物でない)ファイルに決まりごとを標準化して、タグつきで意味の在るメタデーター(ちょっと違うが)にすれば、スタイルとかフォーマットができて、文字コードが違っても読めるようになる。
なんて事を考えた。
なので、SGMLには文字コードなど、基本的な事を定義したファイルと、DTDやスキーマとか呼ばれる、書式などを定義したファイル、そしてインスタンスファイル(ソースファイル)で構成されています。
それらのファイルに従い、読み込んでフォーマットしてくれるフォーマッター又はビューワーを作れば、どんなコンピューターでつくっても、読み取れ、使う事ができる。
その流れを、XML、HTMLをくんで、今のブラウザアプリができている。
しかし、プログラム言語やOSなど、文字コードを統一しようという動きがあり、マイクロソフトもUTFにデフォルトを変更してきた。
その歴史は、
http://search.yahoo.co.jp/search?b=1&n=10&ei=UTF …
などみればわかるはず。
http://dic.yahoo.co.jp/dsearch?enc=UTF-8&dname=0 …
http://ja.wikipedia.org/wiki/Unicode
ただ、発祥が今のような世界情勢になっていない時に、発案されてしまったため、第3国、つまり韓国など今世界をリードしている国の事がまったくむしされていて、欧米の横柄な態度の学者先生たちによってつくられてしまった。
それが、かならずしも統一されていない要因ともなっている。
まあ、世界の歴史から言えば、100年くらいはかからのでしょう。
今から100年前の事考えてみてください。確かに、国際協力なんてあったが、ヨーロッパはアジアを完全に見下していましたからね。植民地としか考えていませんでしたからね。
そのうちにアフリカの国の、どこかの部族の文字も、考えないといけない時代がくるのでしょう。それだと今の形式でまにあうのでしょうか?
そう、時代と共に発展してゆくので、文字コードは、どんな時でも増えてゆきますよ。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Hey!Say!のCDについている、ユ...
-
ギターで2弦2フレットと3弦2フ...
-
ギターのタブ譜についてです。 ...
-
DLookupがうまく出来ません
-
ユーザーコードについて
-
所有しているコードブックに、...
-
onって何ですか?
-
【マクロ】PasteSpecialメソッ...
-
ギターのTAB譜の記号 N.C....
-
CODE関数から他の文字コードの...
-
ピアノのコードについて…
-
ACER 3820t-n52bのパソコン...
-
草刈の際に電源ケーブルを切断...
-
Dadd11というコードについて
-
ギターのコード
-
D7alt
-
ドライアーのコードから煙が出...
-
VBA ダブルクリックするたびに...
-
excelマクロ フォームのインポート
-
電気製品のコードが溶けました
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ギターのTAB譜の記号 N.C....
-
VBA ダブルクリックするたびに...
-
マイクロソフト 一時使用コード...
-
マイナーの裏コードは存在する?
-
【マクロ】functionプロシージ...
-
【マクロ】Ifとwith ステートメ...
-
CODE関数から他の文字コードの...
-
草刈の際に電源ケーブルを切断...
-
ドライアーのコードから煙が出...
-
【マクロ】PasteSpecialメソッ...
-
Amazonギフト券で本名はバレま...
-
DLookupがうまく出来ません
-
ギターで2弦2フレットと3弦2フ...
-
Dadd11というコードについて
-
Em7onA 。GonB。 GonAのおさ...
-
あいみょんのマリーゴールドのM...
-
JOBコードってなんでしょうか?
-
コードを白く塗りたい
-
【HULFT】 utllist とutladmin
-
【EXCEL-VBA】PDFファイルを開...
おすすめ情報