シフトJISコード
更新日:
用語解説
シフトJIS(Shift_JIS)は、JISの日本語文字集合を、ASCIIとの互換性を保ちながら1バイト又は2バイトで表す可変長の符号化方式です。
■ 試験で押さえるポイント
ASCII文字と半角片仮名は1バイト、漢字・ひらがな等の多くは先行バイトと後続バイトの2バイトで表します。
エスケープシーケンスによる状態切替を使わず、先行バイトの範囲から2バイト文字を判定しますが、後続バイトにASCII記号と重なる値が現れます。
MicrosoftのCP932はShift_JISを拡張した方式で、追加文字や一部の対応が異なります。「Shift_JIS」と「Windows-31J」を無条件に同一視しません。
バイト途中で切断すると文字化けや検査回避が起きるため、文字数ではなくバイト数を扱う処理、入力検証、Unicode変換で境界を正しく扱います。
■ 選択肢での判断ポイント
1バイト文字と2バイト文字が混在し、エスケープ切替を使わない点を押さえます。EUC-JP、ISO-2022-JP、UTF-8との識別が問われます。
例: Shift_JISの2バイト文字を先頭1バイトだけで切ると不正列になります。文字境界を認識するライブラリでUnicodeへ変換してから文字単位で処理します。