削除文字

コンピューティングにおいて、削除文字(さくじょもじ、delete character)とは、制御文字の一種で、その部分のデータが消去されていることを示す。

ASCIIでは最後に定義されており、十進数で127、十六進数で0x7Fとなる[1]キャレット記法では ^? と表され、Unicodeでは制御文字の図形表現として ␡ (U+2421)が定義されている。

キーボードで(文字の削除ではなく)削除文字自体を入力する方法は、環境により異なる。Windowsのメモ帳(notepad.exe)では、Controlを押しながら Backspaceを押すと、このコードが入力される。

歴史

[編集]
  ·     NUL
· CR
· LF
· DEL
· SP
穿孔テープに記録されたASCII制御文字とスペース

削除文字は当初、穿孔テープで文字が削除されたことを示すのに用いられた。穿孔テープに文字を間違えて穿孔してしまった場合は7ビット全ての穴を空け、コンピュータは穿孔テープを読み込むときにその箇所を読み飛ばす。いわば修正液のような使い方をしていた[2][3]十六進数では、7ビットを消すには0x7F、8ビットを消すには0xFFで上書きすれば良い。ASR-33のようなテレタイプ端末では、1行は3つの制御文字、キャリッジリターンラインフィード・削除文字で終わっていた。最後の削除文字は、テレタイプ端末のプリントヘッドが物理的に右から左へ移動する時間を稼ぐために入れられた。VT100互換の端末では、Deleteと刻印されたキーを押すと制御文字(八進数で177)がホストへ送信された[4][5]VT510英語版互換の端末では、と刻印されたキーを押すと制御文字が発生する。このキーは現代のコンピュータでは「バックスペース」と呼ばれるもので、削除キーとは異なる[6]

現代の用法

[編集]

UNIX系のオペレーティングシステムでは、stty において手前(左)の文字を削除する制御文字として使用されている。これは、穿孔テープにおける削除文字の本来の機能とは異なる。

DOSWindowsでは、制御文字を使用していない。手前(左)の文字を削除するのには後退0x08 または control-H)が使用される。Win32 console英語版で使用されるEGA/VGAフォント英語版には「家」の記号()が127 (0x7F) に定義されている(Code page 437を参照)。

脚注

[編集]

出典

[編集]
  1. ^ definition of the rubout character 7F hex
  2. ^ Robert C. Martin (2011). The Clean Coder: A Code of Conduct for Professional Programmers. Pearson Education英語版. ISBN 9780132542883. https://books.google.co.jp/books?id=ik0qCTVzl44C&pg=PA202&lpg=PA202&dq=rubout+punched+tape&source=bl&ots=bpXwgO-II7&sig=BxkvyvY2g9rulWxYTn1ZHr4eopg&hl=en&sa=X&ei=u8cqVdnQOc-vogSxvYCYDg&redir_esc=y#v=onepage&q=rubout%20punched%20tape&f=false 
  3. ^ LaFarr (18 August 2006). “"Paper Tape" First Machinable I/O”. 2016年3月16日閲覧。
  4. ^ VT100 Family of Video Terminals”. vt100.net. 2016年3月16日閲覧。
  5. ^ VT100 User Guide- Chapter 3 – Table 3-4 Function Key Codes”. vt100.net. 2016年3月16日閲覧。
  6. ^ VT510 Video Terminal Programmer Information – Chapter 8 – Keyboard Processing”. vt100.net. 2016年3月16日閲覧。