http://www.example.co.jp/~miro/index.html
最近はこういうURLの振り方はあまり流行らないような気もしますが、それでもよく見かけますよね。このURLの中にある「~」という記号。これの本当の名前、知ってますか?
「~の名前がわからない!」と聞かれたら、たぶんほとんどのみなさんは「チルダ!」と即答すると思います…が、これ、じつは状況によっては間違っている可能性もあるんです。
…と、ちょっと脅してみましたが、まぁ普通は「チルダだよ!」って言っときゃ間違いないです(笑)。ここから先はかなりマニアックな話になります。
みなさんが今、目にしているコンピュータ上の文書は「文字コード」という仕組みの上に成り立っています。あらかじめ文字ごとに番号を振って、○○番の文字はこれ、○○番の文字はこれ、とお互いに決めておくんですね。そして、その番号を通信でやり取りすることで「数字しか扱えない」コンピュータで文字・そして文書をやり取りするわけです。
この文字コード、いろいろな種類があります。「ASCII」や「シフトJIS」「EUC」「Unicode」などなど。日本語を表現することのできる文字コードだけでも何種類もあるんですね。この種類は、文書を作ったのが誰か、文書を作ったソフトが何かによってバラバラです。
そこで、文書を送る側と受ける側で理解している「文字コードの体系」が異なると、「文字化け」してしまいます。
そんな大事な「文字コード」ですが、これが「シフトJIS」だった時に限り、「~」の名前がちょっと面倒なことになってしまうのです。「シフトJIS」での「~」の文字コード(番号)は「7E(7/14)」。ということで、シフトJISでこの「7E(7/14)」の文字が何という名前なのかを調べてみることにしましょう。
「シフトJIS」と一般に呼ばれる「文字コード」の正体ですが、これは正しくはJIS(日本工業規格)のJIS X 0208という規格の、附属書1で定められている「シフト符号化文字集合」です。この規格そのものは日本工業標準調査会のウェブサイトで閲覧できます。(※右側「JIS検索」でJIS X 0208を検索)
この、JIS X 0208「7ビット及び8ビットの2バイト情報交換用符号化漢字集合」を見ると、「附属書1 シフト符号化文字集合」の中(p28)に以下の記述があります。
4.2 1バイト図形文字集合
ビット組合せ21~7Eの1バイト符号の領域には,JIS X 0201のラテン文字用図形文字集合の2/1~7/14を割り当てる。
「ビット組合せ7E」は「JIS X 0201」を見ろ、と書いてあります。なのでさっそく次はJIS X 0201を調べてみましょう。
JIS X 0201「7ビット及び8ビットの情報交換用符号化文字集合」の中の「ラテン文字用図形文字集合」。p7から書いてあります。
5.5.1 ラテン文字用図形文字集合どれどれ、と「表1」「図5」を見てみると…
ラテン文字用図形文字集合に含まれる図形文字の名称及びビット組合せを,表1に示す。
ラテン文字用図形文字集合の符号表を,図5に示す。
あ…あ、あれ??チルダが、無い??
「~」の文字コードは「7E(7/14)」だったはずなんですが、そこには「 ̄」(OVER LINE/オーバライン)などと書いてあります。これ、なんでしょう?
もう一度、こんどは「ASCII」の「7E(7/14)」のところを見てみます。
まちがいなく「チルダ」です!しかし、JIS X 0201の同じ「7E(7/14)」のところには「 ̄」と書いてあります。同じ番号なのに字が違う!
これ、パソコンが8bit/16bit機だった時代からいろいろと触ってこられた方にはわりとおなじみの話なのですが、「\」と「¥」(5C 5/12)、「~」と「 ̄」(7E 7/14)は英語環境と日本語環境で「同じ文字番号に違う字形が割り当てられていた」んですね。なのでこんなことになってしまっています。
もちろん、JIS X 0201にもこのことについて書いてあります。p22から。
附属書2 OVER LINEの字形の許容範囲
OVER LINEの字形は,本体表1の符号位置7/14に定める図形記号を本則とする。ただし,送信者と受信者との間で明示的な合意がある場合は,附属書2図1に示すようなTILDEと同じ字形を使用してもよい。(中略)
参考 歴史的にISO/IEC 646は,OVER LINEとTILDEを同一の図形文字の表現形の相違とみなし,混乱の起こらない範囲で代替して使用することを許容していた。
おおおおお!出てきました「チルダ(TILDE)」!
そう、つまり
- 「シフトJIS」では、本来「~」(文字コード7E)の文字は「 ̄」と表示するきまり
- でも、「チルダ」に見えるような字形を使ってもいい、と規格に書いてある
- だから(文字コードによって見え方が変わるのもやなので)パソコンでは「~」は「チルダ」に見える
さあ、ここからが本題です。
先程のJIS X 0201の引用(附属書2)の中で、「(中略)」と略した部分がありますよね。ここになんて書いてあると思いますか?
衝撃の内容を読んでみましょう。
ただし,送信者と受信者の間で明示的な合意がある場合は,附属書2図1に示すようなTILDEと同じ字形を使用してもよい。この場合でも,文字の名称はOVER LINEでなければならない。
なんと!
「http://www.example.co.jp/~miro/index.html」などというURLに出てくる「~」という文字は、その文字の文字コードがシフトJISの時だけは名称が「TILDE(チルダ)」ではなく「OVER LINE(オーバライン)」だったのです!きっぱりはっきりそう規格書に定義されています!(笑)
職場の女の子に無邪気に質問されて、ここまで説明したら超ドン引き必至の豆知識、いかがでしたでしょうか。はい、私は聞かれたら「チルダだよ!」って答えます。役に立たない豆知識ですねえ。ええ。
■ほかの豆知識系記事
・迷惑メールをSPAMと呼ぶ事なかれ。それは肉の缶詰だ。
・「携帯電話が心臓ペースメーカーを誤動作させる」という話
・納品を半日延ばすライフハック
・自宅サーバを無届けで設置すると逮捕される?
・東京タワーに隠れたもうひとつの東京タワー