● 一般的な用途
[_] キーの代表的機能は以下の通り。詳しい解説は次章を参照。
- 文字「_(アンダーバー),\(バックスラッシュ),ろ」の入力
● 「_(アンダーバー),\(バックスラッシュ),ろ」の入力
[Shift] キーと同時に押すと「_アンダーバー(アンダースコア)」が入力される。で,たいていは単独で押すと「\ バックスラッシュ」または「¥ 円記号」が入力される。
_ の文字コードは \ よりも 3 大きい。他のキーでは,ほとんどが
[Shift] キーとの同時押しの有無により入力される文字コードの違いは
16 か 32 で,1つのビットが異なるだけなのに対し,このキーだけはそうした関係がない。じつは,古い日本語入力キーボードでは,単独で押した時に入力される文字がなかった記憶がある。つまり [Shift] と同時に押せば _(アンダーバー)の入力はされたものの,このキーを単独で押しても「英数モード」では何も入力が起きなかった時代があったように思う。実際,[Shift] キーとの同時押しの有無の違いで,他のキーと同じ法則で文字コードを割り当てると,_ に対応するのは DEL
と呼ばれる制御コードになり,「文字」ではない。
一方で,じつは日本語フォントで使われる ¥ 記号が \ 記号と同じ文字コードで,その文字が離れた場所(バックスペースの隣)にあって押しにくいうえに,しかもその記号は,プログラミングや端末のような
CLI(Command Line Interface=主に文字入出力によって操作するコンピュータ)使いにとって(特に MS-DOS では)わりと頻繁に使う重要な文字のため,その時点で入力される文字がなかったこのキーに \ 記号を割り当てたのだと思われる。でも,おかげで入力し易くはなった。
\(バックスラッシュ)と ¥(円記号)の違いは,次節を参照。
ちなみに「MS-DOS では半角の ¥ 文字コード(92)は重要な文字」と書いたが,いくつかのコンピュータ言語ではこの文字は「エスケープ文字」と呼ばれ,「他の文字と組み合わせて使う」仕様だった。一方,一部の漢字が「文字の一部」として使っていたため,うっかりその漢字をプログラムで使っちゃうと「組み合わせ」がうまくいかなくなって,度々文字化けやバグの原因になっていた。それらの漢字は「ダメ文字」と呼ばれていた。つくづく MS-DOS という OS はダメ設計だった。
なお,かな入力モードでは,単独で押すと「ろ」が入力される。かな配列の「ら行」はこの辺りにまとまっている。
ちなみに,筆者が日本語入力で使う「NICOLA(親指シフト)配列」の場合,単独で押した時は「¥(全角の円記号)」が入力される。また,親指シフトの場合は左右に関係なく「\(バックスラッシュ)」が入力されるが,次節のように,単に同じコードの表示違いの可能性もある。
◆ \(バックスラッシュ)と ¥(円記号)の違い
じつは,この文字コード(92=十六進表記で 5Ch)を「日本語フォント」の設定で表示すると ¥ を表示し,日本語フォント以外では \ を表示することが多い。フォント設定が異なる時に文字化けを起こす一因がこれ。「文字コードが同じ」であれば「同じ文字」として扱われるため,その場合どちらの表示になるのか,コンピュータは判断できないことが多い。時々,ウェブサイトで金額の数字の前に \ 記号が付いていることがあるが,それはその画面を作った者がこうした事情を知らず,日本語以外のフォントを考慮しないままサイトの設計をしたためである可能性が高い。遠因として経営者の配慮意識の欠落があるかもしれないので,そうしたサイトを見つけたら利用は慎重にしたほうがいい。
では「確実に ¥ で表示させる」ことは不可能なのかというと,そんなこともない。じつは確実に ¥ 記号を表示する文字コードも存在していて,半角では文字コードの 165(十六進表記で A5h=¥)。その他に
UNICODE と呼ばれる世界共通文字コードでは,U+FFE5 に全角の ¥ が定義されている。だから,金額の前に置く文字はこれらのうちのどちらかを使えばいいのだが,そうしたことを知らず,お金儲けしかアタマにない経営者が配慮に欠けたサイト設計をすると,前述したように金額の前に \ などといった意味不明な記号がくっつくことになる。ただ,どちらもキーボードからの一般的な入力方法では直接入力できない場合があり,その際は \(バックスラッシュ)で変換するか,あるいは文字コード直接入力モードで上記コードを指定するなどの必要がある。
◆ 表計算で確実に ¥ 表示する
たとえば表計算ソフトで表示させる金額で,\ などへの文字化けを避けて,確実に ¥ を表示させたい時は,該当セルの書式コードとして“¥#,##0”といった指定をする(もちろんこの ¥ 記号は,前述した「確実に ¥ を表示する文字コード」のものを指定)。あるいは,以下のような式を埋め込む。これは見積書などで数量と単価からその項目の金額を求めて表示するもの。
=UNICHAR(165)&TEXT(〈数量のセル〉*〈単価のセル〉,"#,##0")
これはエクセルの場合で,OpenOffice などでは,"#,##0" の直前の「,(コンマ)」を「;(セミコロン)」に置き換えて使う。また 165
の部分を 65509(=十六進数 FFE5)にすると全角の ¥ 記号になる。
ただ,この式は全体を「文字」として扱うため,表示されている数値を「合計」などの他の計算には使えないので注意。合計に使うなど数値として扱いたい時には,前述の「書式コード」の指定で対応する。
これらの方法で「金額」の数値の前に ¥ 記号を表示させれば,コピペした時やフォント指定を変えた時などでも文字化けしづらくなる。
なお,中国人民元も発音が同じこともあり同じ記号を使うため,広く国境を越えて読まれる可能性のあるウェブ記事で金額を表示する際は,JP¥,CN¥ などと区別できる記載にしたほうがいいと思われる。