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で質問しましょう!
似たような質問が見つかりました
- PostgreSQL PostgressからMySQL(MariaDB)へ構造を変更する際のTimestamp等について 2 2023/04/04 12:09
- PHP phpのメールフォームの完了画面でメール受信のコードを書いています。 1 2023/05/31 11:39
- PHP PostgreSQLからCSV形式でエクスポートする際にカラム内の改行をとる方法 1 2023/02/22 10:05
- その他(プログラミング・Web制作) 文字コード及びフォントに関する次の記述を読み,適切なものをすべて選べ。 ASCIIとは,英数字だけを 4 2023/01/11 19:10
- HTML・CSS <meta charset="utf-8"><!-- 文字化け防止ユニコード --> ?最近モバイル 1 2022/12/11 04:27
- Windows 8 win8 "ベータ ワールドワイド言語サポートで Unicode UTF-8 を使用"を出したい 2 2023/05/23 19:57
- Excel(エクセル) Excelにて、フォルダ内のTextファイルをマクロで統合すると文字化けしてしまう時の解消コード 4 2023/01/01 07:32
- その他(プログラミング・Web制作) pythonのpandasのcsvの外部結合(outer_join)した際に列が想定とは異なる事象 1 2022/05/25 13:23
- その他(プログラミング・Web制作) Sikulix2.0.5(Jython2.7.3)でcsvを読込WEB検索条件にpasteで文字化け 1 2023/03/31 11:02
- Excel(エクセル) エクセルのVBAについて とあるサイトのコードを参考に、CSVの文字化けを直すVBAを作成しているの 7 2022/11/04 14:15
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA ダブルクリックするたびに...
-
ギターのTAB譜の記号 N.C....
-
Em7onA 。GonB。 GonAのおさ...
-
マイクロソフト 一時使用コード...
-
ドライアーのコードから煙が出...
-
◎PPMのコードをお教えいただ...
-
JAN コードとITFコードの違い...
-
エクセル マクロのエラーを解...
-
ギターで2弦2フレットと3弦2フ...
-
『車の中でかくれてキスをしよ...
-
【EXCEL-VBA】PDFファイルを開...
-
VBAのフォーム上にTextBoxたく...
-
マイナーの裏コードは存在する?
-
エクセルで文末に同じ文字を一...
-
コードを白く塗りたい
-
ヘアドライヤー内部の断線修理...
-
【マクロ】PasteSpecialメソッ...
-
ステップルの使い方について。
-
ギターコードを教えてください。
-
JANコード、ITFコードの作成
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
V7/Iというコードはありますか...
-
ギターのTAB譜の記号 N.C....
-
VBA ダブルクリックするたびに...
-
JANコード、ITFコードの作成
-
JAN コードとITFコードの違い...
-
マイナーの裏コードは存在する?
-
【EXCEL-VBA】PDFファイルを開...
-
◎PPMのコードをお教えいただ...
-
ドライアーのコードから煙が出...
-
マイクロソフト 一時使用コード...
-
Dadd11というコードについて
-
onって何ですか?
-
実行時エラー3251対応処理方法
-
ギターで2弦2フレットと3弦2フ...
-
電気製品のコードが溶けました
-
【マクロ】PasteSpecialメソッ...
-
【HULFT】 utllist とutladmin
-
Excel VBA Tabコードの出力
-
D7alt
-
『車の中でかくれてキスをしよ...
おすすめ情報