Integer ASCII code: | 9 |
Binary code: | 0000 1001 |
Octal code: | 11 |
Hexadecimal code: | 09 |
Group: | control |
Seq: | ^I |
C/C++ notation: | \t or '\t' |
Unicode symbol: ␉, int code: 9225 (html ␉) hex code: 2409 (html ␉)
Position according to the next character tab stop.
The tab key Tab ↹ (abbreviation of tabulator key or tabular key). On a keyboard its function is to move forward the cursor to the next tab stop.
The tab rack from a Flexowriter model 2201. The tab-rack of this machine can be removed for simple setting.
Some words about the history of the word tab. Tab derives from the word tabulate. It's meaning is "to organize data in a tabular, or table, form". When a person wanted to type a table (of numbers or text) on a typewriter, he had to use space bar and backspace key a lot. This took too much time and was pretty annoying. In order to make it simpler, a horizontal bar called the tabulator rack was placed in the mechanism. Pressing the tab key would move forward the carriage to the next tabulator stop. The first tabulator stops were clips, that could be adjusted and moved from place to place on the tabulator rack. In 1900 a patent application for such a mechanism was filed by Fredric Hillard.
The tab mechanism achieved its recognition as a fast and consistent way of evenly indenting the first line of each paragraph. A first tab stop at 5 or 6 characters was frequently used for this, way more larger than the indentation used in typesetting. The logical place for the digital data tab stop is the place of the least important digit. The technique of tabbing to this location with further pressing the backspace key to back up to the position of the first digit worked pretty well but way too slow. There were lots of suggestions concerning numeric tabs. One of the examples is filing for a patent of tab mechanism with multiple tab keys numbered 1, 10, 100, etc. in 1903 by Harry Dukes and William Clayton. Pressing 1 was a simple tab. Pressing 10 advanced to the space before the tab, pressing 100 advanced to the position 2 spaces before the tab.
At the beginning tab stops were adjusted by adding and removing clips from the tab rack. However, Edward Hess working for the Royal Typewriter Company wanted to modify it. In 1904 he filed for a patent including a system where the tab stops were constantly mounted on the tab bar. Now set or reset a tab for a particular column was much easier: the tab stop for that column was simply turned in or out of engagement. Here comes the next patent. In 1940, James Koca filed for a patent on a mechanism that allowed the tab stops for each column to be adjusted and cleared from the keyboard. This was really helpful, especially for the typist: now he didn't need to bend over the back of the machine to manually set the tab rack. These keys (if there were any of them) are usually labeled tab set and tab clear.
The Tab key will frequently have a function of moving the insertion point to the next tab stop in a table in text editing. Besides, it has a function of inserting the ASCII tab character or lots of space characters.
If the operator presses Tab when filling out a computerized form, Tab moves the cursor to the next field. If you press Shift together with Tab, it will move the cursor to the previous field). This way you don't need to use a mouse to click in an adjacent field.
Let's move on to the functions of Tab in applications that work with graphics. In graphical applications, particularly on Windows the Tab key has a function of moving the focus to every control or widget, for example buttons. This way you can use the user interface without having to work with a mouse (this was part of the IBM Common User Access design). MacOS has such an option either; here it's called "Full Keyboard Access".
A partially typed piece of text can be fully completed with the help of Tab key. For better understanding let's see an example. In some command-line interfaces it is possible to type the first few characters of a command or file-name, then press Tab. If the system has no uncertainty about your intent, the rest of the characters will appear automatically. Unix system uses such option more frequent than Windows.
The Tab key is well knows to the gamers all over the world. In 'PC' video games, Tab key is frequently used in order to show scores in multiplayer games. It is also adjusted for single player games in order to show the world map or the player's inventory (or any other information that can be useful).
The most popular and frequently used tab is a horizontal tab (HT). In ASCII it has the decimal character code of 9. It is also may be referred to as Ctrl+I or ^I. In lots of other programming languages, for example C, the escape code can be used to place this character into a string constant. The horizontal tab is usually can be applied using the Tab key on a standard keyboard.
If there is a horizontal Tab, we may logically conclude that there is a vertical tab as well. A vertical Tab (VT) has ASCII decimal character code 11 (Ctrl+K or ^K), escape character \v.
The code for HT is 5 in EBCDIC, and VT is 11 (coincidentally the same as in ASCII).
Initially, printer mechanisms used tab stops, which were mechanical. They were used in order to see where the tabs went. Horizontally this operation was done with the help of movable metal prongs in a row. Vertically it was done with the help of a loop of mylar or other tape length of a page with holes punched in it to indicate the tab stops. They were manually set by operator in order to match the pre-printed forms that were previously loaded into the printer.
The purpose was to program the printers with control characters in order to specify and clear the stops: ISO 6429 contains the codes 136 (Horizontal Tabulation Set), 137 (Horizontal Tabulation with Justification) and 138 (Vertical Tabulation Set). However, in reality settable tab stops were soon replaced with fixed tab stops. They were actually standardized at every line, consisting of 8 characters horizontally, and every 6 lines vertically. The principle of work was as following. A printing program had a function of sending zero or more tabs in order to get to the nearest tab stop above and left of the exact place where it wanted to print. The second step was sending line feeds and spaces in order to get to the final location. Finally, Tab characters just became a form of data compression.
Let's not take into account five characters, which are ½″ and the typical paragraph pressing that were used in past time. What is important is the fact that horizontal tab size of 8 managed to develop because as a power of two it was easier to calculate with the limited digital devices, which were available. Vertical tab was pretty rare supported on these terminals.
Some IDEs use a default horizontal tab size of 4 characters on the contrary to the de facto 8 character standard
input value | base | output hash |
---|---|---|
HT | char | 5E732A1878BE2342DBFEFF5FE3CA5AA3 |
9 | dec | 45C48CCE2E2D7FBDEA1AFC51C7C6AD26 |
00001001 | bin | 9821A34FC16D7A1BA8C5A67497E271A5 |
0000 1001 | bin | B964BB1C8F94E1AB0424FFA2AF2BFEE4 |
11 | oct | 6512BD43D9CAA6E02C990B0A82652DCA |
09 | hex | 0A8005F5594BD67041F88C6196192646 |
0x09 | hex | DEAA332E47D4E01E4BA6DC729BB1B6E6 |
input value | base | output hash |
---|---|---|
HT | char | 2B4C342F5433EBE591A1DA77E013D1B72475562D48578DCA8B84BAC6651C3CB9 |
9 | dec | 19581E27DE7CED00FF1CE50B2047E7A567C76B1CBAEBABE5EF03F7C3017BB5B7 |
00001001 | bin | AE8F8DF844DE4C5C3E498ADCE139C8CD7B975B03BDDE650982BD00AEBB0D3DF9 |
0000 1001 | bin | 550B9766504E0398D6C5C6F812170FD7E1A10D9319AD1593213FB40197AFB081 |
11 | oct | 4FC82B26AECB47D2868C4EFBE3581732A3E7CBCC6C2EFB32062C08170A05EEB8 |
09 | hex | 3514ACF61732F662DA19625F7FE781C3E483F2DCE8506012F3BB393F5003E105 |
0x09 | hex | 59B7E46B6B870C53B196AF4B53960FCB178B83CCA46D4E082BCABA176426811C |
input value | base | output hash |
---|---|---|
HT | char | CQ== |
9 | dec | OQ== |
00001001 | bin | MDAwMDEwMDE= |
0000 1001 | bin | MDAwMCAxMDAx |
11 | oct | MTE= |
09 | hex | MDk= |
0x09 | hex | MHgwOQ== |