プロが教えるわが家の防犯対策術!

Windowsでよく使う文字コードはSJISなのでこれについて調べたら
shift-jis、cp932、Windows-31Jのような名称がある事がわかりました。

これらの違いは調べてわかったのですが、プログラムで文字コードを指定する時、プログラムによって上の文字を上の文字を使い分けなければいけませんがなぜこのような現象が起こるのですか?

各アプリケーションで指定する文字コード名を勝手に定めているように思えます。上の文字コードはISOやIANA等に登録されているみたいですが、文字コードを登録するための統一された一つの組織に登録するわけではないのですか?

またエディタなどでこれらを区別する際にはどのようにして判別しているのですか?

これらの質問のどれかが分かったらその質問だけで構わないので教えてください。

A 回答 (2件)

>>


プログラムによって上の文字を上の文字を使い分けなければいけませんがなぜこのような現象が起こるのですか?
<<
プログラム言語に実装されているか否かという問題です。
たとえばご質問にあった shift-jis、cp932、Windows-31J などは、JavaやPHPには実装されていますが、VBやPostgreSQLにはありません。


>>
文字コードを登録するための統一された一つの組織に登録するわけではないのですか?
<<
そういうわけではありません。
ISOで統一しているコードが多いのですが、たとえばシフトJISに対応するISO規格はありません。さらに、携帯文字コード(顔文字)に至っては、キャリアによってバラバラという状態です。


>>
またエディタなどでこれらを区別する際にはどのようにして判別しているのですか?
<<
先頭の何文字かを読み込んで、コードの出現頻度などから、矛盾のないコード体系を選んでいます。
ですから、極端に短いマルチバイト・コンテンツだと、エンコードを間違えることがあります。
    • good
    • 0
この回答へのお礼

なるほどよく分かりました。
ありがとうございます。

お礼日時:2010/03/17 15:56

>これらの違いは調べてわかったのですが、プログラムで文字コードを指定する時、プログラムによって上の文字を上の文字を使い分けなければいけませんがなぜこのような現象が起こるのですか?


 上の文字コードは、マイクロソフト社の規定です。 これは初期の MS-DOS というオペレーティングシステムから16bit Windows OS、32bit Windows OSが開発された時期に応じてビジネスの展開に都合がよいように拡張されてきたということです。

>文字コードを登録するための統一された一つの組織に登録するわけではないのですか?
 技術の進歩はビジネスの目的で単一の企業が先陣を切り他社が違う方式を林立し、競争し淘汰されてデファクトスタンダードが確立し、標準化機構が定義するという成長モデルが自由主義社会のルールのようです。

 マイクロソフト社起源以外の文字コードを参考URLに上げておきます。

参考URL:http://ja.wikipedia.org/wiki/%E6%96%87%E5%AD%97% …
    • good
    • 0
この回答へのお礼

ありがとうございます。
参考になりました。

お礼日時:2010/03/17 16:01

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!