タブ文字 【tab character】 水平タブ / HT / Horizontal Tabulation
概要
タブ文字(tab character)とは、テキスト(文字)データの記述に用いられる制御文字の一つで、一行を一定の文字数ごとに区切った位置にカーソルや次の文字を移動させるもの。キーボードのタブキー(Tabキー)で入力できる。文字の入力・表示画面で、一行を4文字や8文字などの特定の文字数(タブ幅)ごとに区切って仮想的な基準線(タブストップ)を設ける。ある文字の後にタブ文字が置かれると、その後に続く文字は右側の最寄りの基準線の位置から表示される。
例えば、タブ幅が8文字の設定で先頭から「abc[タブ文字]xyz」と入力すると、行頭に「abc」が表示され、5文字分の空白の後に「xyz」が現れる。次の行に「abcde[タブ文字]xyz」と入力すると、「abcde」の後に3文字文の空白が挿入され、上の行と同じ位置に「xyz」が現れる。
“tab” は “tabulator” の略で、「表(table)にする者/装置」という意味を持つ。もとはタイプライターで文字の入力位置を指定の位置に移動する機能で、各行で項目の先頭を揃えることで表のように縦横に項目を並べることができた。当時はタブストップを等幅ではなく任意の位置に指定できたが、コンピュータでは同じ文字数の間隔に揃える機能に変化した。
ASCII文字コードでは9番が「水平タブ」(HT:Horizontal Tab)、11番が「垂直タブ」(VT:Vertical Tab)に割り当てられている。一般にタブ文字といった場合は水平タブのことを指す。垂直タブは垂直方向の間隔(行の移動)について水平タブと同じ操作を行うためのもので、プリンタ出力が標準の時代に用いられたが現在は(本来の役割では)ほとんど使われていない。
プログラミングの分野では、プログラムコードの各行の先頭を制御構造などに応じて特定の位置に揃えるインデント(indent)のためにタブ文字が使われることが多い。複数のスペース文字でも同じ役割を果たすことができ、インデントをスペースで行うべきかタブ文字で行うべきかで意見が分かれる。
正規表現では「¥t」(バックスラッシュt、日本語環境では円マークt)で表される。データ形式などで項目の区切り文字などとして用いられることもある。1行を1レコードとし、レコード内の項目の区切りにタブ文字を用いた表形式のテキストデータを「TSV」(Tab-Separated Values:タブ区切り)形式という。