キーボードにない「全角」と「半角」
いまや、ネット通販だけでなく、旅行やイベントなどのチケット、保険の申し込みや所得税の確定申告まで、さまざまなことをネットで行えるようになった。そのとき、いつも気になるのが住所などの入力フォームに現れる「住所の番地は全角でお願いします」「電話番号と郵便番号は半角で」といった文言だ。
私はもういい年のおじさんで昔のパソコンを知っている世代だからいいが、現在の若い世代はいきなりiPhoneから使い始める。そういう人に「全角」「半角」といって意味がわかるのだろうか? ちなみに、アップル製の日本語キーボードにはどこにも全角、半角という刻印はない。「英数」「かな」というキーがあるだけだ。
iPhoneにいたっては、設定画面にすら「全角、半角」という言葉は出てこない。iPhoneのユーザーズガイドを検索しても「全角、半角」という単語はどこにも使われていない。キーボードを英語にしたときに半角英数字が入力され、日本語にしたときは基本的に全角が入力されるというだけだ。しかも、日本語のときに数字を入れようとすると、候補に全角数字と半角数字の両方が現れる。常識があれば「たぶん幅の広い数字が全角で、狭い数字が半角なんだろうな」と推測できるだろうが、どこにもはっきりと書いていない以上、ネット通販の住所入力で戸惑う人もいるのではないかと思う。
解消できなかった歴史の遺物
全角と半角という概念は、昔のパーソナルコンピュータの遺産(“遺物”のほうがもはや適切な言葉だ)だ。コンピュータは米国で発明されたため、アルファベット26文字(+大文字、小文字、数字、記号)をコード化するのに1バイト(8ビット)=256種類を使った(厳密には7ビットだったが、ここでは略す)。
この技術を日本に輸入するにあたり、2つの考え方があった。1つは1バイトのコードの半分近くが空いているので、そこに半角カタカナを割り当ててしまうというもの。この場合、日本語はカタカナしか使えないが、事務処理などはそれでもなんとか間に合った。もう1つの考え方は、1バイトでは漢字が使えないので文字を表すのに2バイト使って6万5536文字を使えるようにし、そこにひらがな、カタカナ、漢字を割り当てるというものだ。結局、後者の考え方が標準になった。しかし、この場合1バイトのカタカナと数字記号、2バイトのカタカナと数字記号の両方がダブることになり、1バイトのものを「半角」、2バイトのものを「全角」と呼んで区別することにした。これが数字とカタカナに半角と全角の2種類が存在する由来だ。
しかし、現在は2バイト以上を使って世界中の文字を同じフォーマットで収録するユニコードが普及している。ここで、全角、半角の違いを解消して統一してしまえばよかったのだが、そうはさせじと抵抗する半角派がいた。
当時の多くの企業がオフコン(オフィスコンピュータ)を使って在庫管理や売上管理を計算し、これをパソコンから操作するということをやっていた。オフコンは古い仕組みに基づいて開発されていたので、半角数字や半角カタカナを使っていたのだ。半角、全角が統一されてしまうと、パソコンで使う文字の仕組みとオフコンで使う文字の仕組みにずれが生じてしまう。そこで「半角を残してほしい」という要望が挙がり、ユニコードには2種類の数字が収録されることになった。
変更できない基幹システム
つまり、さまざまな通販サイトなどで「ここは全角で、ここは半角で」とうるさく指定をされ、それに従わないとエラーが出てしまうのは、そのサイトの基幹システムやデータベースが全角と半角を区別して使っているからなのだ。基幹システムを更新しても、データはそのまま利用するので、最初に「番地は全角」と設計してしまったら、永遠に全角を使わざるを得ない。基幹システムのデータ構造まで変更しようとすると、かなりの大規模な改変が必要になってしまうのだ。特に商取引に関わるシステムを止めるというのは現実的に難しいという事情も理解できる。
しかし、基幹システムが全角の番地を必要としているのであっても、利用者が実際に利用するインターフェイスであるWEBブラウザ上で全角、半角のいずれを入力しても、自動で全角に変換するプログラムを追加すればいいのではないか。そうすれば、利用者は全角と半角の違いを気にせずに入力できるはずだ。開発に詳しい方に聞くと、そのような変換ルーチンは数行の追加で実現できると言う。ただ「−」の処理が面倒くさいともいう。「−(全角ハイフン)」は、形が似ている文字として「一(漢数字の1)」、「ー(長音記号)」、「−(マイナス記号)」などがあって、利用者がいろいろな記号を自由に入力してしまうと基幹システムのデータが混乱する可能性があるという。「それも含めて変換ルーチンをWEBに入れてやればいいのでは?」と反論すると、「まあ、そりゃそうだね」と言う。
競争を増すWEBサービスの世界
「いまさらそんな小さなことどっちでもいいでしょ? 何を重箱の隅みたいなことにこだわっているの?」と思われる方もいるかもしれない。しかし、現在のWEBサービスの競争はそこまで気にしなければならないほどシビアになっている。
ひょっとして差し障りがあるかもしれないので具体名は伏せるが、ある有名な通販サイトでクレジットカード決済をするときにセキュリティコードの入力が省略されているところがある。カード番号は、WEBサイトに登録しておけるのでいちいち入力する必要はないが、それだと他人に買い物をされてしまう危険性があるので、一般的には「セキュリティコード」を入力させる。セキュリティコードは、カードの裏側に書いてある番号で、この下3桁を入力させるのが一般的だ。このコードはサイトに登録することが禁止されているので、いちいち現物のカードを見て入力しなければならない。これが一種の本人確認の役割を果たしているのだ。
このセキュリティコードを入力させないで買い物ができてしまう仕組みは危険ではないのだろうか。内部の人に聞くと、もちろん危険性はあるという。しかし、一方でセキュリティコードを入力させるというステップを入れることで、買い物を途中でやめてしまう人が出て機会損失も生じる。手元にカードが見当たらなかったり入力が面倒になって、注文を途中でキャンセルしてしまう人が一定割合でいるというのだ。この危険性と機会損失を秤にかけて、セキュリティコード入力は省くのが得策だと判断したのだという。通販サイトの競争は、そこまでシビアに考える段階に来ているのだ。
日本人の得意技は「日々カイゼン」だ。日本のものづくりの最も優れた点も「日々カイゼン」だ。それなのに、この「全角でお願いします」問題を放置している理由がわからない。単に気づいていないか、気にしていないか、わかっていても手を抜いているだけなのか、それとも私にはわからない深い技術的理由があるのか。読者の中で詳しい方がいらっしゃったら、ぜひ教えていただきたい。
あるWEBサービスの住所入力に関するQ&Aより。住所の数字は半角数字を使わなければならないのだが、「ー」は全角を使わないとエラーが出ると書いてある。これをノーミスで入力できる人は相当少ないのではないか。
【知恵の実の実】
WEBブラウザの入力フォームでは、CSSやHTML5の属性で文字入力モードを自動的に切り替える方法もあるという。ところが、パソコンやスマートフォン、携帯電話などあらゆる環境から利用できるWEBサービスではそのすべてにきちんと対応させるのは難しいそうだ。
【知恵の実の実】
セキュリティコードは磁気ストライプにも記録されていないので、現物カードを所有している本人確認になる。わずか3桁なので盗み見て記憶してしまうことは可能なので、カードを不用意に人に預けてはいけない。この簡易セキュリティが今後も存続するかは不明だ。