バックスペースキーとは|機能・歴史・ASCII(BS)制御コードの解説
バックスペースキーの起源から現代の動作、ASCII(BS)制御コードや制御文字の仕組み、歴史的背景と実例をわかりやすく解説。
バックスペースとは、キーボードのキー(←と表記されることもあります)で、元々はタイプライターのキャリッジを1つ後ろに押すための操作でした。現代のコンピュータでは、画面上のカーソルを1文字分後ろに移動させ、その前の文字を削除(上書きや表示上の消去)し、それ以降のテキストを1文字分詰める動作に割り当てられることが一般的です。
タイプライターでの歴史と合成(オーバーストライク)
タイプライターでは、タイピストが例えば小文字の「a」を打った後にバックスペースを押し、次にアクセントを打つことで、アクセント付きの文字(á など)を作ることができました。この「オーバーストライク」方式は、紙上で文字を重ねて表示する仕組みです。こうした手法は、のちのコンピュータ文字セットにおけるスペーシング修飾子(たとえばASCII のキャレット ^ やサーカムフレックス)や、ダイアクリティックの考え方の源流になりました。
ただし、デジタルディスプレイや現代の組版システムでは、物理的に文字を重ねるオーバーストライクは基本的に使われません。ある程度はUnicodeの結合ダイアクリティカルマーク(combining diacritical marks)に置き換えられていますが、フォントやレンダリング環境によっては期待どおりに表示されない場合があり、事前に合成された合字(é など)を使うことが依然として一般的です。TeX や一部のソフトウェア(Microsoft Windowsのツールなど)では、アクセントを先に置き、その後に基底文字を配置するなど、実装上の工夫が行われています。
コンピュータ上の制御コード(ASCII の BS)
コンピュータ端末でバックスペースキーを押すと、ASCII の制御コード「BS」(コード番号 8、16進では 0x08、8進では 010)が送られます。これは制御文字としては「カーソルを左に1つ移動する」命令を意味します。キーボードの組み合わせでは Control-H(Ctrl+H)でも同じコードが生成されます。
重要な点は、BS(0x08)が「必ず文字を消去する」わけではなく、「カーソルを左に移動する」だけの端末もある、ということです。そのため、文字を確実に消すためには「BS → 空白を書き込む → BS」でカーソルを戻す、という古典的なテクニック(例: X\b \b)が使われます。端末やプロトコルによっては、削除を意味する別のコード(たとえば DEL(0x7F))を使う場合もあります。
端末やシェルでの挙動とトラブルシューティング
UNIX系の端末では、バックスペースキーと Delete(DEL、しばしば ^? 表示される)のどちらがErase(文字削除)に割り当てられるかは設定可能です。端末設定は stty コマンドで変更できます(例: stty erase '^H' など)。実際に '^H' を入力するには、端末により Ctrl-V Ctrl-H といった方法で制御文字を挿入する必要があります。
端末がバックスペースを解釈せずに文字列として表示してしまう場合、画面上に ^H のように表示されることがあります。この表現は「caret 表記」と呼ばれ、歴史的に「バックスペース文字がそのまま表示されている」ことを示します。昔の電子掲示板やメール・Usenet などでは、誤りを“取り消すふり”をするためにユーモアとして使われ、現在でもインターネット文化の中で「打ち消し」を示すギャグとして用いられます(例: "I love you^H^H^H hate you")。
OS・アプリケーションごとの違い
- Windows: バックスペースキーは一般に前方の文字を削除し、仮想キーコードは VK_BACK(0x08)です。GUIアプリケーションではキャレット位置の左の文字を削除するのが通常です。
- macOS / Linux GUI: 同様にキャレットの左側の文字を削除します。ブラウザ上では、フォーカスが入力欄にないときにバックスペースで「戻る」操作を行うブラウザが過去にはありましたが、現在は誤操作防止のため挙動が限定されることが多いです。
- 端末エミュレータ: バックスペースが端末側でどのように扱われるか(移動のみか消去も行うか)は、端末のエミュレーション設定やシェルの行編集モードによります。
実用例
BS を用いた「確実な文字消去」の古典的な方法(端末が BS を移動のみで解釈する場合):
A\b \b
このシーケンスは「A を打つ → バックスペースでカーソルを左へ移動 → 空白で上書きして A を見えなくする → バックスペースでカーソルを戻す」という動作になり、画面上から A が消えたように見えます。
まとめ
- バックスペースは元はタイプライターの機能で、コンピュータでは ASCII の BS(0x08)に対応します。
- 端末や環境によっては BS が単にカーソルを移動させるだけで文字を消さないため、実際の消去には追加の処理(空白で上書きするなど)が必要な場合があります。
- オーバーストライクによるダイアクリティカル合成は歴史的な手法で、現代では Unicode の結合ダイアクリティカルマーク等に置き換えられていますが、フォントやレンダリングの都合で合成済み文字が使われ続けています。
- 端末設定(stty など)でバックスペースと削除の挙動を調整できます。端末で ^H が表示される場合は、この設定を見直すと良いでしょう。

野生のバックスペースキー。
質問と回答
Q:バックスペースキーとは何ですか?
A:バックスペースキーはキーボードのキー(←と表記されることもある)で、もともとはタイプライターのキャリッジを1つ後ろに押していましたが、現代のコンピュータ画面ではカーソルを1つ後ろに移動して前の文字を削除し、後ろのテキストを1つ後ろに移動させるキーになっています。
Q:タイプライターでは、バックスペースはどのように使われていたのですか?
A:タイプライターでは、小文字の「a」を打った後にバックスペース、そしてアキュートアクセントキー(オーバーストライクとも呼ばれる)を打つことで、アキュートアクセント(á)をつけた小文字の「a」を打っていたそうです。これは、ASCIIのキャレット(^)のようなコンピュータの文字セットにおけるスペーシング修飾子の基礎となっています。
Q: バックスペース合成はどのように置き換わったのですか?
A: バックスペース合成はUnicodeの結合発音記号メカニズムに置き換えられましたが、そのような文字は多くのフォントでうまく機能せず、合成前の文字が使われ続けています。TeXやMicrosoft Windowsのようなソフトウェアでは、ダイアクリティカルマークに逆の方法を用いているものもあります。
Q:コンピュータの端末でバックスペースキーを押すとどうなるのですか?
A: コンピュータ端末でバックスペースキーを押すと、ASCIIコード08またはBS(Backspaceの略)が発生します。
Q: ^Hは何によく使われますか?
A: ^Hは、コンピュータに詳しい人が、取り消し線と同じように、失敗したふりをした文字を削除するためにユーモラスに使われます。
Q: ^Wは^Hとどう違うのですか?
A: ^Wは単語全体を削除するショートカットで、^Hは一度に一文字しか削除しません。
Q:テキストの削除に関連する他のショートカットは何ですか?A: 個々の文字や単語だけでなく、より広範囲な削除のために、テキスト行全体を削除する ^U のようなショートカットがあります。
百科事典を検索する