タブコード
読み:タブコード

 文書ファイルラインプリンター等で、桁あわせをするために使用する制御コードのこと。タブ文字、TAB文字とも。
目次

概要
 電子計算機で文書を作成することを考える。
 特殊なソフトウェアを使わず、全てを文字だけで表現することとし、ここで表などを書くとする。
 この時、表にするなら一定間隔での桁位置合わせが欠かせないが、これを空白文字だけで行なうのは手間である。そこで、一定間隔を開ける制御コードとして、タブコードが作られた。大昔には表計算ソフトウェアなど無かったので、このような工夫が生まれたのである。
 語源は定かではないが、一説によれば、tabコードのtabはtableを語源とする。

特徴

符号
 電子計算機内の文章は実質的に数字の羅列に過ぎないので、タブコードがその場にあることを表わす目印が必要である。
 そこで、それを表わす制御コード、文字を、タブコードないしタブ文字という。
 ASCIIおよびその互換符号系とUnicodeでは、HT(0/9)が使用される。
 EBCDICおよびその互換符号系では、HT(0/5)が使用される。
 なお、HTとは水平タブ(Horizontal Tab)を表わす。

タブ幅
 何桁単位で桁あわせをするか、を「タブ幅」という。
 処理系がタブコードを認識すると、その場から最も近い次のタブ幅まで移動する。古典的にはタブ幅は8であり、1桁目にタブコードがあれば、カーソルは9桁目に移動する。そこにもタブがあれば、カーソルは17桁目に移動することになる(左端を1桁目とした場合)。
 プログラミングにおいては、インデントとして使われるが、インデントの深さが8は多すぎるとし、タブ幅を4として使う人も多い。

水平タブと垂直タブ
 上述した「タブ」は、全て「水平タブ」である。
 現在では殆ど使われなくなったが、古典的なプリンターでは、垂直タブがあった。これは「垂直方向書式送り」とも呼ばれ、この制御コードは連続紙などの行を一定行数、垂直方向送る機能に使われた。
 垂直タブ(VT: Vertical Tab)のコードは次の通り。
 ASCIIおよびその互換符号系とUnicodeでは、VT(0/11)が使用される。
 EBCDICおよびその互換符号系では、VT(0/11)が使用される。

プログラミング

C/C++
 C/C++及び同系列の言語では、次のエスケープを利用してタブコードを表現できる。

再検索