「Shift JIS」の版間の差分

削除された内容 追加された内容
Pipip672 (会話 | 投稿記録)
m編集の要約なし
48行目:
:# 半角カナのための領域を確保した関係上、コードシークエンスが区点番号の「区」の区切りではない箇所で分断している。このため、コード番号を演算で求める際は煩雑な処理が必要である。
:# 2バイト目に{{十六進|80}}未満([[ASCII]]のコード領域)が現れる。このため、文字の区切りの判定に手間がかかる。ファイルや電文の先頭から文字コードの判定をする場合はよいが、後ろから判定をしようとすると、最悪の場合、先頭までたどらないといけないことがあるため、プログラムの作り方に工夫が必要になる。また、この領域に含まれる一部の文字の扱いのため、マルチバイトのEUC-JP、[[UTF-8]]などに比べ、プログラミング上の扱いが難しい([[#2バイト目が5C16等に成りうることによる問題|次項]]を参照)。<!--#シングルバイト文字コードや、マルチバイトのEUC-JP、UTF-8などより、プログラミング上の扱いが難しい。→[[#2バイト目が5C16等に成りうることによる問題|次項]]--><!--2バイト目のコード領域に関する問題なので統合-->
:# [[補助漢字JIS X 0212|JIS補助漢字]]が表現できない。補助漢字の文字数はShift_JISのコード未登録部分に収まらない。
<!-- 実用的に利用している漢字の表現は、文字鏡フォントがあり、このフォントを表すためには、Shift_JISのような方式での文字コードの拡張がよいのか、HTMLによる文字コードと文字フォントの両方を指定するのがよいかは、未解決の問題である。-->
:# 文字集合については実装ベンダがJIS X 0208で規定されていない機種依存の拡張を施していることが多く、こういった拡張部分に関してはデータ交換可能性が低い。
228行目:
Shift_JISの「[[シフト]]」とは、256×256の平面の中で文字を複雑に“ずらす”という意味の「シフト」である。
 
[[ISO-2022-JP]]は[[指示シーケンス]]で漢字と[[ラテン文字|アルファベット]]を切り替える符号化方式である。また、EUC-JPは[[JIS X 0212|補助漢字]]と半角カタカナを[[シングルシフト]]で一時的に切り替えて使う符号化方式である。これらの符号化方式で行われている、各文字集合の面を[[漢字シフトコード|シフトコード]]によって切り替える操作も「シフト」と呼ばれるが、Shift_JISの「シフト」はこれらとは異なる意味である。またビットをずらす操作([[ビットシフト]])とも異なる。
 
== Shift_JISと区点番号 ==