Tabel ASCII dalam 4 Kolom (2017)
(garbagecollected.org)- Jika ASCII dibagi menjadi 7 bit, yaitu 2 bit teratas (grup) dan 5 bit terbawah (nilai), lalu disusun dalam tabel 4 kolom, hubungan antara karakter kontrol dan karakter cetak langsung terlihat
- Tombol
CTRLbekerja dengan menjadikan bit-bit atas dari karakter yang dimasukkan menjadi 0, sehingga menghasilkan karakter kontrol (control character) yang berbagi 5 bit terbawah yang sama - Misalnya, jika
[(10 11011) ditekan bersama CTRL, hasilnya menjadiESC(00 11011), yang dapat dijelaskan dengan operasi bit AND - Alasan
^Jadalah line feed,^Hadalah backspace, dan^Iadalah tab juga berasal dari struktur yang sama; tampilan^M(CR) pada file teks Windows pun mengikuti prinsip ini - Tabel ASCII yang umum dipakai biasanya menyembunyikan pola ini, tetapi jika dibagi per 32 karakter ke dalam kolom, maksud desainnya menjadi sangat jelas
Penemuan tabel ASCII 4 kolom
- Pengguna Hacker News soneil memposting versi tabel ASCII yang disusun dalam 4 kolom per 32 karakter
- Melalui susunan ini, langsung terlihat bahwa peralihan huruf besar/kecil hanya berbeda satu bit, dan bahwa alfabet berada pada
40h + nilai urutan(huruf kecil pada60h) - Mengapa
^\[adalah ESC juga bisa langsung dikonfirmasi dari tabel ini
Struktur encoding ASCII 7 bit
- ASCII adalah encoding 7 bit; 2 bit pertama menunjukkan 4 grup, dan 5 bit terakhir merepresentasikan 32 nilai
- Grup
00: karakter kontrol (NUL, SOH, STX, ESC, dll.) - Grup
01: karakter khusus dan angka (Spc, !, ", #, dll.) - Grup
10: alfabet huruf besar (@, A, B, C, dll.) - Grup
11: alfabet huruf kecil (`, a, b, c, dll.)
- Grup
- Karakter yang berada pada baris yang sama memiliki 5 bit terbawah yang sama, dan hanya bit grupnya yang berbeda
Tabel ASCII 4 kolom
| Bit | 00 (kontrol) | 01 (khusus/angka) | 10 (huruf besar) | 11 (huruf kecil) |
|---|---|---|---|---|
| 00000 | NUL | Spc | @ | ` |
| 00001 | SOH | ! | A | a |
| 00010 | STX | " | B | b |
| 00011 | ETX | # | C | c |
| 00100 | EOT | $ | D | d |
| 00101 | ENQ | % | E | e |
| 00110 | ACK | & | F | f |
| 00111 | BEL | ' | G | g |
| 01000 | BS | ( | H | h |
| 01001 | TAB | ) | I | i |
| 01010 | LF | * | J | j |
| 01011 | VT | + | K | k |
| 01100 | FF | , | L | l |
| 01101 | CR | - | M | m |
| 01110 | SO | . | N | n |
| 01111 | SI | / | O | o |
| 10000 | DLE | 0 | P | p |
| 10001 | DC1 | 1 | Q | q |
| 10010 | DC2 | 2 | R | r |
| 10011 | DC3 | 3 | S | s |
| 10100 | DC4 | 4 | T | t |
| 10101 | NAK | 5 | U | u |
| 10110 | SYN | 6 | V | v |
| 10111 | ETB | 7 | W | w |
| 11000 | CAN | 8 | X | x |
| 11001 | EM | 9 | Y | y |
| 11010 | SUB | : | Z | z |
| 11011 | ESC | ; | [ | { |
| 11100 | FS | < | \ | | |
| 11101 | GS | = | ] | } |
| 11110 | RS | > | ^ | ~ |
| 11111 | US | ? | _ | DEL |
Cara kerja tombol CTRL
- Saat tombol
CTRLditekan, bit-bit atas dari karakter input diatur menjadi 0 sehingga berpindah ke grup karakter kontrol (00) - Ini dapat dinyatakan sebagai operasi bit AND:
10 11011([) AND00 11111(CTRL) =00 11011(ESC)
- Karena itu,
CTRL+[menghasilkan ESC bukan karena penetapan sewenang-wenang, melainkan desain berbasis operasi bit
Contoh praktis
^J(CTRL+J) adalah LF(line feed),^H(CTRL+H) adalah BS(backspace), dan^I(CTRL+I) adalah TAB- Jika file teks Windows diperiksa dengan
cat -A, akan tampil^M, karena line ending Windows menggunakan format CR+LF - Alasan pengguna vim di terminal memakai
CTRL+[sebagai pengganti ESC juga berasal dari struktur bit ini
Belum ada komentar.