[Edit][Create New]
[ IndexPage / ネットとプログラミング / web296 / No78.txt ]

No78.txt

今回は、ものすごく前にブルボン小林氏が
http://www.web296.com/mailmg/b58_020329.htmlで触れていた、さかさスラッシュ
(\)と円記号(¥)の謎について解説していきます。

みなさんは、1バイトの(いわゆる半角の)さかさスラッシュを見たことがあります
か? 英語圏仕様のOSや、UNIX系OSなどを使用した事がある方は、頻繁に見かけて
いるはずです。逆にWindowsやMacOSなどを

主に使っている方はあまり馴染みがないかも知れません。

さてさかさスラッシュは、ASCII規格ではBackslash、JIS規格では逆斜線と呼ばれ
る文字片で、ASCIIに含まれている以上かなりポピュラーなもののはずです。それ
なのに、なぜ日本ではあまり見かけないのでしょうか?

それは、本来バックスラッシュが位置する場所に、円記号が入れ替えに配置され
ているからです。ですから英語圏仕様のOSなどで円記号を出そうとするとバック
スラッシュが出てしまいますし、逆に英語圏用のキーボード(US-101など)でバッ
クスラッシュのキーを叩くと、日本語仕様のOSでは大抵円記号が出てきます。で
はなぜこんなことになったのでしょうか? これもまたMicrosoftの勝手な独自拡張
かというと、実はそうでもありません。

それは、シフトJISがASCIIの代わりにISO646を適用しているからです。ASCIIでは、
英語圏(特に米国)が主な対象であるため、ドイツ語のウムラウト文字のようなヨ
ーロッパで日常的に使われる文字をサポートしていません。通貨単位記号もドル
記号があるのみです。

これでは不公平だというので、国際規格組織であるISOでは、ASCIIのうち「#$@[
\]^`{|}〜」を、各言語圏に必要な文字に置き換えることができるISO646を定義
しました。ここでシフトJISではバックスラッシュを円記号に、チルダ(〜)をアッ
パーバー( ̄)に置き換えました。シフトJISでの変更はこれだけです。これはJIS
X 0201でも同じことです。

なお、ここまで読んで気づいた方もいるかと思いますが、現在、Windowsや
Macintosh系のOSでも、チルダはチルダで表示されています。円記号はそのままに
も関わらずです。PC-9801の頃は確かにアッパーバーでしたので、おそらく(URL表
記にチルダを使う)Webが普及し始めた頃に、UNIX系ユーザー(Web黎明期にはかな
り幅を利かせていた。もちろん彼らは[~]をチルダ(またはニョロ)と呼んでいた)
にあわせる形でこっそり元に戻したんじゃないかと思っています(詳しい方がいた
ら教えてください)。

さて、この円記号問題ですが、単に日本語圏用、英語圏用の違いだけでなく、実
は文字コードによっても複雑な問題を引き起こすのです。次回は実際に、テスト
用テキストデータをいろいろ用意して、みなさんのOSでは円記号のサポートがど
うなっているのか、それは果たして規格に沿った動作なのか、検証してみようと
思います。