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