1byteでの表現と限界

12.4.1. 1byteでの表現と限界

ASCIIの文字は[0,127]の範囲に割り当てられていて、[128,255]の部分は未使用です。 ここに別の文字を割り当てても 1byte (=8bit) におさめることができます。日本と欧州の例を紹介します。

重要なことは、これらの規格は共存できないということです。 たとえば同じ B1 という番号が、 JIS X 0201では に、ISO 8859-1 では ± になります。

JIS X 0201 #

はじめりカタカナを収録したJIS X 0201を紹介します。

[0,127] はおおむねASCIIと互換ですが、 \(\texttt{5C}_{(16)}\) , \(\texttt{7E}_{(16)}\) の2 文字が、バックスラッシュ \ とチルダ ~ からそれぞれ円記号、オーバースコア(上付き線)と変わっています。HWBでは詳細に立ち入りませんが、ASCIIとの差異が重要な場合は、JIS ローマ字と呼びます。

0 1 2 3 4 5 6 7 8 9 A B C D E F
2 SP ! # $ % & ( ) * + , . /
3 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
4 @ A B C D E F G H I J K L M N O
5 P Q R S T U V W X Y Z [ ¥ ] ^ _
6 ` a b c d e f g h i j k l m n o
7 p q r s t u v w x y z { | } DEL

128番以降の JIS 仮名は、以下のようにカナなどが規定されます。 \(\texttt{A1}_{(16)}\) から \(\texttt{DF}_{(16)}\) の部分です。

0 1 2 3 4 5 6 7 8 9 A B C D E F
A
B ソ
C
D

日本語を書くためにはひらがなも漢字も使いたいところですが、文字種が 1byte = 8bit = 256 を越えるため、1文字 1byteの制約では無理でした。

HWBではこれらのカナ文字を使わないことを勧めます。
半角カナ
この JIS X 0201 に属する文字は、伝統的に縦横比が 2:1 の字形で表示されていました。そのため、これらの文字を半角文字と呼ぶ場合があります(文字コードで半角全角が定まっているわけではありません)。特に、JIS 仮名のことを半角カナと呼ぶことがあります。 JIS X 0201 は、ISO 646 の日本版(JIS ローマ字)と、カタカナ(JIS 仮名半角カナ)を含んだ文字集合です。

ISO 8859-1 #

つづいて欧州諸言語のための文字コードISO 8859-1を紹介します。 前半の文字はASCIIを踏襲し、後半の128番以降に アクセント記号や他の文字が規定されています。円マークもポンド等他の通貨記号と同列で A5 に収録されています。

ISO/IEC 8859-1

0 1 2 3 4 5 6 7 8 9 A B C D E F
A NBSP ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ SHY ® ¯
B ° ± ² ³ ´ µ · ¸ ¹ º » ¼ ½ ¾ ¿
C À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï
D Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß
E à á â ã ä å æ ç è é ê ë ì í î ï
F ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ ÿ

ISO/IEC 8859 は 15 種類(ISO 8859-1 から 16 まで。12 は欠番)定められていて、 よく使われるのは ISO-8859-1 とそれにユーロ記号追加などの修正を行った ISO-8859-15 です。 ISO/IEC 8859 規格の文字コードは、JIS X 0201 と同じように 8 ビットの構成となっており、最上位ビットが 0 の部分には ISO 646 国際基準版(つまり、ASCII の制御文字でない部分)がそのまま、残りの最上位ビットが 1 の部分で追加の文字を規定します。

人のための文字 1byteでの表現と限界 日本語