全角英数字を嫌う人が多い。たぶん理由は次の三つぐらいだろう。

・重複符号化が許せない(論理派)
・全角英数字の見栄えがいや(感覚派)
・全角英数字を使うのは年寄りが多いからいや(年寄り早く死ね派)

どの理由ももっともだと思う。しかし、私はわりと全角英数字が好きだ。年寄りだし、見栄えもあまり気にしないからだろう。さすがに半角カタカナを使うことは絶対にないが、全角英数字はついつい使ってしまう。

また、安直にプログラムを組むとき、内部的に"日本語の文字列は全部全角"にしておくと結構楽ができるのも利点だ。全角にさえしておけばバックスラッシュと円マーク問題などで悩まなくていい。もっともこういう考え方をすること自体が年寄りプログラマの証拠ではある。

ここで昔話。「安直にプログラムを組め、見栄えもそれなりになる」という素晴らしい(?)仕組みがかつてあったのをご存知だろうか。それが「2バイト半角文字」である。

本来SJISなら英数字は半角(バイト)と全角(2バイト)の二つ。しかし1バイト文字と2バイト文字が混在する文字列をプログラムできちんと処理するのは結構面倒。だからといって全部全角文字にすると見栄えが悪い。

そこで天下のNECは、特殊文字として2バイトの英数字を用意する、という今考えればとんでもない方法を思いついた。つまり同じ"A"という文字に対して、半角、全角、2バイト半角という三つのコードを割り当てたのだ。もちろん漢字ROMのころのNEC PC9801シリーズの話だ。って漢字ROMを知っていることも年寄りの証拠かw

とここまで書いて思い出した。「2バイト半角」は、けっしてプログラムを安直に書くためにではなく、プリンタ出力時にきちんと英数字が漢字の半分の幅になるために用意されていたような気もする・・・ というかたぶんそう。楽するために使っていたのは私だけかもw

なお、「2バイト半角」で検索すると見つかるhttp://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1310146303
の回答はまるっきり嘘なので注意。http://miraicorp.blog90.fc2.com/blog-entry-235.htmlには正しい記述がある。もっともいまさら知ったってほとんど役に立たない情報だからどうでもいいのだが・・・