• 締切済み

JISコードとシフトJISコードの違い

僕の買った参考書には ASCIIコード・・・英数字・記号を1Bで表す。 JISコード・・・英数字・記号を1Bで表すコード体系とひらがな・漢字を2バイトで表すコード体系。 シフトJISコード・・・ASCIIの1Bコード体系とJISの2Bコード体系を合体した文字コード。 とあるのですが、JISコードとシフトJISコードの違いが分かりません。というか同じではないでしょうか?2つのコードの違いを教えてください。

  • fux
  • お礼率64% (9/14)

みんなの回答

  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.4

> 漢字の始まりを示すシフトインと漢字の終わりを示すシフトアウト 違います。 シフトインとシフトアウトはそれぞれアスキーコードで言うと 0x0F と 0x0E で、7ビットしか使えない環境で 半角カナを送信するときなどに使われるものです。 今ではJISコードって言い方も変なんですが (漢字のJIS規格はひとつじゃないから) とりあえず JISコード 漢字やひらがな(2バイトで表される)などといわゆる半角英数字 (1バイトで表される) のを、ある特定のしるし(エスケープシーケンス)で 切り替えるやり方 ShiftJIS JISコードのような切り替えをやらずにまぜて表すやり方 ぐらいでいいんじゃないかと。 正確に書こうとすると800文字じゃとてもたりません。 まあ#1の方の挙げているリンク先に詳しくかかれてますけど。

  • buriburi3
  • ベストアンサー率44% (353/792)
回答No.3

JISコードは漢字の始まりを示すシフトインと漢字の終わりを示すシフトアウトを付ける事で漢字(2Byteコード)と漢字で無い部分(1Byteコード)を区別しています。 ShiftJISコードはアルファベットにも半角カナにも使っていないJIS8Bitコードの空き 0x81~0x9F、0xE0~0xFC を漢字の1バイト目とする事で漢字(2Byteコード)と漢字以外(1Byteコード)を区別しています。

  • Oh-Orange
  • ベストアンサー率63% (854/1345)
回答No.2

★買った参考書は分かりにくそうですね。 ・『1B』とか『2B』って1バイト、2バイトという意味かな? >JISコードとシフトJISコードの違いが分かりません。 >というか同じではないでしょうか?  ↑  同じではないです。 >2つのコードの違いを教えてください。  ↑  半角文字の英数字・記号などはどちらも1バイトの ASCII コードとして表します。  JIS漢字コードとシフトJIS漢字コードは両方とも1つの漢字(ひらがなも含む)を  2バイトで1文字と表します。ここは共通。 ・JIS漢字コードは  第1バイトに 0x21~0x7E までの文字コードを使う(94種類)  第2バイトにも 0x21~0x7E までの文字コードを使う(94種類)  この2バイトの組み合わせで漢字文字を表現しています。(94×94=8836種類)  つまり  0x2121、0x2122、0x2123…0x212F⇒ 、。,.・:;?!゛゜´`¨  0x2130、0x2131、0x2132…0x213F⇒^ ̄_ヽヾゝゞ〃仝々〆〇ー―‐/   :  0x7E70、0x7E71、0x7E71…0x7E7E⇒・・・・・・・・・・・・・・・  となります。 ・シフトJIS漢字コードはちょっと複雑で  第1バイトに 0x81~0x9F、0xE0~0xFC までの文字コードを使う(60種類)  第2バイトは 0x40~0x7E、0x80~0xFC までの文字コードを使う(188種類)  この2バイトの組み合わせで漢字文字を表現しています。(60×188=11280種類)  つまり  0x8140、0x8141、0x8142…0x814F⇒ 、。,.・:;?!゛゜´`¨^  0x8150、0x8151、0x8152…0x815F⇒ ̄_ヽヾゝゞ〃仝々〆〇ー―‐/\   :  0xFCF0、0xFCF1、0xFCF2…0xFCFC⇒・・・・・・・・・・・・・  となります。 ・上記で『・』となっているのは文字コードのフォントがないからです。注意。  あと JIS 漢字コードはメールなどで使われています。  http://www.asahi-net.or.jp/~AX2S-KMTN/ref/jisx0208.html→『JIS基本漢字』  シフト JIS 漢字コードは普通のテキストファイルなどに多く使われています。  だから『あいうえお』はシフトJISコードで表すと  0x82A0、0x82A2、0x82A4、0x82A6、0x82A8 となります。 ・以上。ネット検索した方がいい資料が見つかりますよ。

  • chiezo2005
  • ベストアンサー率41% (634/1537)
回答No.1

2バイトに割り付けてある場所が違います。 http://www.gprj.net/dev/tips/other/kanji.shtml がわかりやすいと思います。

関連するQ&A

  • JISコードをシフトJISコードに変換する方法

    紙とえんぴつを使ってJISコードをシフトJISコードに変換する方法を教えてください。 たしか16進数の変換などを使って出来ると聞いたことがあります。 一文字の漢字だけで良いんです。 例えば『高』という漢字のJISコード「3962」をシフトJISコード「8D62」に変換したいというわけです。 2進数や16進数の計算の知識だけはあります。よろしくお願いします。

  • シフトJISコード

    1文字を入力して(例えばWordで) その文字のシフトJISコードを知る 方法をご存知の方、 教えてください。 私の質問例が悪いのかもしれませんが 文字->シフトJISコードを 知りたいのです。 逆は、わかるのですが・・・。

  • 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 の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とシフトJIS

    現在のPCで広く使われているシフトJISの文字コードと、JIS0208の文字コードの間にはなにか一定のルール(変換できるような)ものがあるのでしょうか?

  • GSM 7-bitという文字コード

    僕の携帯ソフバンのSMSのとこの文字コードんとこに、 ・Shift JIS ・GSM 7-bit の二つあって、デフォだと、Shift JISになってるんですが、 GSM 7-bitだとどう違いがあるんですか? ////////////////////////////// GSM 7-bit default alphabet とASCIIコードは、英数字部分のコードはほぼ同じですが、それ以外の部分が違います。 ASCIIコードでは、制御記号が入っている部分が、GSM 7-bitでは、「LATIN SMALL LETTER」などの字体が入っています。 http://ch6630.seesaa.net/article/34858260.html​ 日本製携帯なのでできるできない関係なく、仏語などの特殊文字を表示できますか?

  • 文字コードの違い

    現在、情報系の勉強をしています。 文字コードの違いについて質問させてください。 パソコンの標準的なコード…シフトJIS Eメールに使用されるコード…JIS Webページに利用…EUC 世界各国に対応…unicode 7ビット…ascii とあるのですが、いろいろ調べても使い分けの違いが分からずに困っています。アドバイス頂けたら幸いです。

  • シフトJISをunicodeへ(逆)変換したい

    このカテで良いのか良く分からなかったのですが... シフトJISのバイナリコードをunicodeバイナリコードへ(あるいは逆)変換するための対応表(URL)を探しているのですが良くわかりません。 米国で使用されている2バイトコード体系へ変換したいのでunicodeか否かはっきりしないという問題もあります。 以上について、わかりやすい参考URLがありましたら教えて下さい。

  • 文字操作をしたjisコードをシフトjisに変えたい

    携帯メールをCGIで受け取って処理するスクリプトを書いているのですが 文字コードの処理について行き詰っています。 $str = " $B$F$9$H (B"; #jisコードで"てすと" として、この文字列をjcode.pmでシフトjisに変換したいのですが $body = Jcode::convert($str, 'sjis'); このようにしても$bodyの中身は" $B$F$9$H (B"のまま変わりません。 MIME::parserでうけとったjisコードの文字列はちゃんと変換されるのでjcode.pmに問題はないと思われますが、 文字列操作をして変数に入れるとMIME::parserで受け取った場合とおなじ内容でもデコードされないとゆう結果になります。 なにか根本的に違うのでしょうか… スペースを省いてみたり $body = Jcode::convert($str, 'sjis','jis'); としてみたりしたのですが まったくダメでした。 ちょっとしたアドバイスだけでもいいのでよろしくお願いします。 あとお金がかかってもよいので、そういった問題を解決できそうなサイトなどがあれば紹介していただければと思います。 よろしくお願いします。m(__)m

  • シフトjisとインターネット

    現在98でインターネットをやってますが 98だとシフトjisですがインターネットのコードは何なのですか? jisコードですか? gooで質問したり回答したりするとき入力画面では∫に丸を付けたものが打てるのですが確認画面ではその記号が出ません それは「S」の様になるのです 他にシフトjisで打ててインターネットが拒否するコードにどんなものがありますか? リストを表示したサイトが有れば教えてください 逆にシフトjisで打てないけれどもインターネットで表示できるコードもありますね? それもリストを表示したサイトが有れば教えてください またそれはどのように打てばいいのですか? よろしくお願いします