53 68 69 66 74 5F 4A 49 53 82 C6 82 CD 81 41 95 B6 8E 9A 83 52 81 5B 83 68 82 CC 8B 4B 8A 69 82 CC 88 EA 82 C2 82 C5 82 A0 82 E9 81 42
Shift_JISとは、文字コードの規格の一つである。シフトJISとも。
主に日本語を含む文字列を扱う時に使われる文字エンコーディングである。
主に英数字(ほぼASCII)とカタカナを含んだJIS X 0201(いわゆる半角文字)と、ひらがなやカタカナ、漢字、記号などを含んだJIS X 0208(いわゆる全角文字)の、2つの文字集合を同時に表現するために1982年に考案された。
1バイト(8ビット)で全て表現できるJIS X 0201に対し、6879もの文字を含むJIS X 0208を表現するには2バイト必要となる。
しかし、制御文字の他に半角英数字で0x20~0x7E、半角カナで0xA1~0xDFが既に割り当てられていた。
そこで「既存の英数字と半角カナ文字列がそのまま利用可能」かつ「エスケープシーケンスによる状態切り替えが不要(処理速度の都合上)」という条件を満たす為に開発されたのがShift_JISである。
現在はJIS X 0213にて定められたShift_JIS-2004があり、JIS X 0208の文字の範囲に限れば同一のコードとなる。
詳しい説明は他のサイトを参照していただくとして、簡単な説明をすると、
2バイト目が188通りあることと、ASCII制御文字にあたる0x7Fを避けているのがポイント。
JIS X 0208は1区を94点(=94字)として94区指定できる文字集合(実際に収録されている文字はそれより少ない。)である。
JIS X 0208の文字を表すのに2バイトでそれぞれ94通りを使う代わりに、1バイト目を47通り、2バイト目を188通りとすることで、半角カナを含めた1バイト文字との共存を可能にした。
2バイト目が188通り(=区2個分)あり、区番号が奇数の時は0x40~0x7E、0x80~0x9E、区番号が偶数の時は0x9F~0xFCとなる。
0x7Fを避けるために、区番号が奇数の場合さらなる条件分岐を必要とする。
ちなみにShift_JIS-2004の場合、2バイト文字の1バイト目に0xF0~0xFCの範囲も利用する。
MS-DOSが日本語対応する際、Shift_JISを拡張した「MS漢字コード」が採用されたこともあり、Unicodeが普及する前は他のエンコーディング方式を差し置いて最も広く使われていた。
マイクロソフトが拡張して採用したものは後に「CP(コードページ)932」「Windows-31J」などと呼ばれている。
パソコン以外にも携帯電話(ガラケー)、ゲーム機などで使われていた。
ちなみに携帯電話において、Shift_JISで表せられるが文字が収録されていない空き領域に詰め込まれたものが絵文字である。
QRコードも当初はShift_JISでテキストを格納することになっていた(後にUTF-8で格納する実装が増えたが)。
インターネット上における日本語ページの文字エンコーディングの割合も一番高かった。
しかしながらUnicodeが徐々に普及し、それに対応したシステムに置き換わっていくのと同時に、滅多に使われなくなってしまった。
日本語文字集合(特にJIS X 0208)を表現する他の符号化方式として、
などがある。Shift_JISを指すつもりでJISコードと言ってしまうと誤解を与えるので注意。
Windowsのメモ帳で名前を付けて保存を選択したときに文字コードを、「ANSI」「UTF-16 LE」「UTF-16 BE」「UTF-8」「UTF-8 (BOM付き)」の5つから選択することができる(Windows10 21H1時点)。
日本語のテキストファイルは「ANSI」を選択して保存することで、Shift_JISを拡張したCP932で保存することができる。
バッチファイル等を作成する際には、「ANSI」で保存しないとコマンドプロンプト上での日本語の文章が文字化けする。
掲示板
掲示板に書き込みがありません。
急上昇ワード改
最終更新:2025/01/05(日) 18:00
最終更新:2025/01/05(日) 18:00
ウォッチリストに追加しました!
すでにウォッチリストに
入っています。
追加に失敗しました。
ほめた!
ほめるを取消しました。
ほめるに失敗しました。
ほめるの取消しに失敗しました。