• ベストアンサー

シフトJISの仕組みとは?

JIS X 201の隙間、0x81~0x9Fの31文字分と0xE0~0xEFの16文字分、あわせて47文字分の隙間に94文字ある区をどうやって当てはめてるのか?という質問です。 学校で先生にサラッと蛇足的に説明してもらったのですが、まったく意味不明なのです。 かなり気になっていて、どうか教えてください。 その他、そういう事が乗っているサイトや書籍なども教えていただけると嬉しいです。

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

  • ベストアンサー
  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.1

以下のサイトでもう一度確認して下さい。

参考URL:
http://www.kishugiken.co.jp/cn/code04.html
momonnga-A
質問者

お礼

図なども載っており、難しいですけど、こうなってるんだな、と分かった感じです。理解するまでには程遠い感じでしたが(^^; ありがとうございます.

その他の回答 (2)

  • U-Seven
  • ベストアンサー率56% (557/986)
回答No.3

>サイトや書籍なども教えていただけると嬉しいです。 これも結局は、ある程度分かっていないと理解できません、元々が一般人向けではないですから。 >学校で先生にサラッと蛇足的に説明してもらったのですが、まったく意味不明なのです。 その先生に聞くべし。 サイトや書籍はあなたの理解度に合わせてくれません、生身の人間に聞くのが一番です。 副次的メリットとして、先生から『あいつ勉強熱心だな』という好評価を受けることが出来ます。(^_-)

momonnga-A
質問者

お礼

ありがとうございます。何だか学生生活のアドバイスまで…。 なかなかつかまらない先生で、もうその先生の授業もない為、疑問を解決するには新年度まで待たないといけないという状況だったので…。 でも聞くのが一番ですね!副次的なメリットが大きいですし!

  • violet430
  • ベストアンサー率36% (27472/75001)
回答No.2
momonnga-A
質問者

お礼

ありがとうございます。 やはり突っ込んだ感じではないみたいでしたが、シフトJIS以外にも書かれてて、やっぱちゃんと勉強しようかな、と思いました!

関連するQ&A

  • シフトJIS の1バイト目

    シフトJISの1バイト目は 0x81~0x9F と 0xE0~0xEF というサイトもある。 0x81~0x9F と 0xE0~0xFC というサイトもある。 最近、文字コードに追加か削除された文字があるから 意見が2つに分かれていると思うんだけど、 現在はどうなのか教えてください。 シフトJISの2バイト目は 0x40~0x7E と 0x80~0xFC ですか? http://google.yahoo.co.jp/bin/query?p=%a5%b7%a5%d5%a5%c8JIS+9F+E0+81&hc=0&hs=0 を参考にしました。

    • 締切済み
    • CGI
  • シフトJISの2バイト文字

    シフトJISの1バイト目は シフトJISの1バイト目は 0x81~0x9F と 0xE0~0xEF と書いてあるサイトもいくつかあるし、 0x81~0x9F と 0xE0~0xFC と書いてあるサイトもいくつかあります。 どうして意見が2つに分かれているんですか? どっちが正しいのか教えてください。 シフトJISの2バイト目は 0x40~0x7E と 0x80~0xFC ですか?

  • シフトJIS 2バイト字の範囲

    シフトJISの2バイト文字の範囲は 0x40~0x7e と 0x80~0xfc と 0x40~0xfc のどっちですか? どちらの情報も見たことがあるんです。 シフトJISの文字をマッチングさせる場合、 ここでは見やすく、スペースを入れて / [\x81-\x9f] [\x40-\xfc] | [\xe0-\xfc] [\x40-\xfc] / とした場合、例えば、亜a という文字列があったら 亜 の2バイト目(下位ニブルっていうのかな)が 9F で b は16進で 62 だから、亜 の2バイト目と a が、 2バイトのシフトJISとしてこれにマッチしてしまうんです。 シフトJISで、こういう例外処理を書かずに、 全てに適用できるシフトJIS2バイトマッチのソースが あれば教えてください。

    • ベストアンサー
    • CGI
  • Shift_JIS漢字を削除したい

    Shift_JISファイルの中の漢字を削除したいですが、 以下のスクリプトがうまく行きません(なにも削除してくれない)。 while ( <IN> ) { chomp(); tr/[\x81-\x9F][\x40-\xFC]//; tr/[\xE0-\xEF][\x40-\xFC]//; print OUT "$_\n"; } どう書けばよいでしょうか?

  • 文字化けメール

    下記のような文字化けしたメールが届きました。 タイトル、本文ともに文字化けしてしまっています。 文字化けしたメールはこのメールのみなのですが、いろいろなソフト、サイトなどで解読をしようとしたのですが、まったく解読されませんでした。どなたか、解読方法が分かる方はいらっしゃらないでしょうか? \x8A\x94ョ\x89\xEFミDTS\x82\xE6\x82\xE8\x89\xEFミ\x90\xE0\x96\xBE\x89\xEF\x82\xCC\x82\xB2\x88\xC4\x93

  • JISコードとは

    「JISコード」という言葉の意味が分かりません。 アスキーデジタル用語事典 http://yougo.ascii24.com/gh/13/001390.html によると、JIS X 0208、JIS X 0212に規定される文字コードのことのように思えるのですが、JIS X 0201、JIS X 0213に規定される文字コードは、JISコードには含まれないのでしょうか。 それとも、このようなこととは異なる、全く別の概念でしょうか。 「JISコード」の意味を教えてください。

  • シフトJISに悩まされて

    シフトJIS文字列を半角大文字だけを小文字にする関数を作ってみました 何かおかしいところはないでしょうか? #include<iostream> #include<string> using namespace std; string MySmallString(const string arg) { unsigned u; unsigned char uc; string str; for(str=arg,u=0;u<str.size();u++) { uc=str.at(u); if(uc<0x80) { if('A'<=uc && uc<='Z')str.at(u)+='a'-'A'; } else if( (uc<0xa0 || 0xe0<=uc) ) { u++; } } return str; } void main(void)//テスト { string str,str0; cout<<MySmallString("本田ABCDEFGHIJKLMNOPQRSTUVWXYZあいうえおアaイbウcエdオe")<<endl; } 最後のアイウエオは(強制的に全角に変換されてしまっていますが半角です このテストだけは通りましたが何かまずい場合はないでしょうか?

  • JISコードが正しく表示されない

    閲覧ありがとうございます。 エクセルでJISコード表を作成してます。 B2[=DEC2HEX(CODE(C2),4)]関数 C2[文字]でJISコードを表示させてるのですが、 UniCodeの0x00A1~0x00A5を入力(IMEパレット)すると0x00A5は、005Cと正しく表示されるのですが、それ以外は003Fと違う値が表示されます。 何か設定等で問題あるのでしょうか? 宜しくお願いします。

  • PHPの正規表現の意味を教えて下さい。

    以下のサイトで全角チェックをPHPの正規表現で判断しているサンプルがあります。 http://programmer-toy-box.sblo.jp/article/17522872.html 上記のサイトでのチェックは以下のようになっています。 > if (!preg_match("/(?:\xEF\xBD[\xA1-\xBF]|\xEF\xBE[\x80-\x9F])|[\x20-\x7E]/", $str)) { Unicodeを利用した正規表現で半角文字の範囲を指定しており、 この範囲に一致しなければ、全て全角と判断しています。 さて、ここで質問なのですが、 正規表現の後半部分、 [\x20-\x7E] は 空文字~~(チルダ)を表現していると理解できます。 しかし、前半部分 \xEF\xBD[\xA1-\xBF]|\xEF\xBE[\x80-\x9F] の意味がわかりません。 WikipediaのUnicode 一覧のページを見ると、 \xEF\xBD[\xA1-\xBF]は ï½ の次に、¡ から ¿ のいづれかの文字が続く文字列を表現していると 思うのですが、これは、半角文字を表現した物なのでしょうか?? そもそも、理解の仕方が違うのでしょうか?? ご存知の方いらっしゃいましたら、ご教授お願いします。 ※WikipediaのUnicode 一覧のページ http://ja.wikipedia.org/wiki/Unicode%E4%B8%80%E8%A6%A7_0000-0FFF

    • ベストアンサー
    • PHP
  • Jcodeというか、Encode.pmが

    現在最新版(開発停止)のJcode.pm は Encode.pmのwrapperとして動作していますが、 「~」という文字という文字を、他コードからUTF-8に変換する 時に、日本語のコードセットの中では 本来「\xef\xbd\x9e」に変換されなければいけないのが、 「\xe3\x80\x9c」に変換されてしまいます。 このような例で他にある文字があれば、教えて頂ければと 思います。

    • ベストアンサー
    • Perl

専門家に質問してみよう