締切済み

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

  • 困ってます
  • 質問No.3313205
  • 閲覧数5152
  • ありがとう数6
  • 気になる数0
  • 回答数4
  • コメント数0

お礼率 64% (9/14)

僕の買った参考書には

ASCIIコード・・・英数字・記号を1Bで表す。
JISコード・・・英数字・記号を1Bで表すコード体系とひらがな・漢字を2バイトで表すコード体系。
シフトJISコード・・・ASCIIの1Bコード体系とJISの2Bコード体系を合体した文字コード。

とあるのですが、JISコードとシフトJISコードの違いが分かりません。というか同じではないでしょうか?2つのコードの違いを教えてください。

回答 (全4件)

  • 回答No.4

ベストアンサー率 62% (800/1280)

> 漢字の始まりを示すシフトインと漢字の終わりを示すシフトアウト

違います。
シフトインとシフトアウトはそれぞれアスキーコードで言うと
0x0F と 0x0E で、7ビットしか使えない環境で
半角カナを送信するときなどに使われるものです。

今ではJISコードって言い方も変なんですが
(漢字のJIS規格はひとつじゃないから)
とりあえず

JISコード
漢字やひらがな(2バイトで表される)などといわゆる半角英数字
(1バイトで表される)
のを、ある特定のしるし(エスケープシーケンス)で
切り替えるやり方

ShiftJIS
JISコードのような切り替えをやらずにまぜて表すやり方

ぐらいでいいんじゃないかと。

正確に書こうとすると800文字じゃとてもたりません。
まあ#1の方の挙げているリンク先に詳しくかかれてますけど。
  • 回答No.3

ベストアンサー率 44% (353/792)

JISコードは漢字の始まりを示すシフトインと漢字の終わりを示すシフトアウトを付ける事で漢字(2Byteコード)と漢字で無い部分(1Byteコード)を区別しています。

ShiftJISコードはアルファベットにも半角カナにも使っていないJIS8Bitコードの空き 0x81~0x9F、0xE0~0xFC を漢字の1バイト目とする事で漢字(2Byteコード)と漢字以外(1Byteコード)を区別しています。
  • 回答No.2

ベストアンサー率 63% (854/1345)

★買った参考書は分かりにくそうですね。
・『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 となります。
・以上。ネット検索した方がいい資料が見つかりますよ。
  • 回答No.1

ベストアンサー率 41% (634/1537)

2バイトに割り付けてある場所が違います。
http://www.gprj.net/dev/tips/other/kanji.shtml
がわかりやすいと思います。
結果を報告する
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。
関連するQ&A
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,600万件のQ&Aを分析して最適な回答をご提案します。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する

ピックアップ

ページ先頭へ