• ベストアンサー

文字コード 統一 それぞれ利点 教えてください

sjisとかutf-8とかeuc-jpとかisoなんちゃらとかutf-16とかもういっぱいありすぎて誰得なんですかこれ それぞれ利点と、なんでこんなにいっぱいあるのか教えてください hatenaなんかはeucからutfに変えたみたいですが・・ もう全部統一したらいいのに・・(´Д`) 回答宜しくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • geshon
  • ベストアンサー率61% (44/72)
回答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の拡張に新たな文字体系を入れ込んで行くだけ かと思いますよ。 先の回答は、質問への回答としても歴史的な説明としても、支離滅裂と思われる 部分が多々あったので、補足しています。

westernedlocked
質問者

お礼

ありがとうございました

すると、全ての回答が全文表示されます。

その他の回答 (1)

回答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-8&fr=ie8sc&p=%E3%83%A6%E3%83%8B%E3%82%B3%E3%83%BC%E3%83%89%E3%81%A8%E3%81%AF などみればわかるはず。 http://dic.yahoo.co.jp/dsearch?enc=UTF-8&dname=0na&dtype=0&stype=1&p=%E3%83%A6%E3%83%8B%E3%82%B3%E3%83%BC%E3%83%89&index=18794670 http://ja.wikipedia.org/wiki/Unicode ただ、発祥が今のような世界情勢になっていない時に、発案されてしまったため、第3国、つまり韓国など今世界をリードしている国の事がまったくむしされていて、欧米の横柄な態度の学者先生たちによってつくられてしまった。 それが、かならずしも統一されていない要因ともなっている。 まあ、世界の歴史から言えば、100年くらいはかからのでしょう。 今から100年前の事考えてみてください。確かに、国際協力なんてあったが、ヨーロッパはアジアを完全に見下していましたからね。植民地としか考えていませんでしたからね。 そのうちにアフリカの国の、どこかの部族の文字も、考えないといけない時代がくるのでしょう。それだと今の形式でまにあうのでしょうか? そう、時代と共に発展してゆくので、文字コードは、どんな時でも増えてゆきますよ。

すると、全ての回答が全文表示されます。

関連するQ&A