Biner ke Teks Konverter
Konversi seketika antara biner dan teks.
Tentang pengkodean biner
Biner adalah bahasa fundamental komputer · setiap karakter, angka, dan instruksi pada akhirnya direpresentasikan sebagai urutan 0 dan 1. Dalam standar ASCII, setiap karakter sesuai dengan nilai biner 7-bit (biasanya ditampilkan dalam 8 bit dengan 0 di depan). Misalnya, huruf "A" adalah 01000001 (desimal 65).
Alat ini mengonversi antara teks yang dapat dibaca dan representasi binernya. Mendukung seluruh rentang ASCII (0-127) untuk biner→teks, dan mengonversi setiap karakter menjadi setara 8-bit binernya untuk teks→biner.
Pengkodean Karakter: Mengubah Huruf Menjadi Bit
Biner adalah lapisan paling bawah; lapisan di atas adalah pengkodean karakter yang memetakan huruf dan simbol ke pola bit tertentu. Kode Baudot (Émile Baudot, ditemukan 1870, dipatenkan 1874) adalah pengkodean teks biner pertama yang banyak digunakan: 5 bit per karakter, digunakan oleh teleprinter dan jaringan Telex selama lebih dari satu abad. 5 bit hanya memberikan 32 kode, yang memaksa kode Baudot menggunakan karakter shift (satu untuk huruf, satu untuk angka/tanda baca) untuk memperluas set yang dapat dialamatkan. ASCII (American Standard Code for Information Interchange) diterbitkan sebagai ANSI X3.4-1963 pada 17 Juni 1963 oleh American Standards Association. ASCII menggunakan 7 bit untuk mengkodekan 128 karakter: kode kontrol (0-31), tanda baca dan digit (32-64), huruf besar (65-90), tanda baca lainnya (91-96), huruf kecil (97-122), tanda baca akhir (123-127). Lebar 7-bit dipilih untuk kompatibilitas dengan hardware telegrafi paper-tape. ASCII menjadi pengkodean dominan bahasa Inggris untuk dua dekade berikutnya; revisi kanonis ANSI X3.4-1986 pada dasarnya identik dan itulah yang dimaksud orang hari ini ketika mereka mengatakan "ASCII."
Keluarga ASCII Diperluas / ISO 8859 (ISO 8859-1 diterbitkan 1987, sisanya sepanjang 1990-an) mengisi 128 karakter tinggi dari byte 8-bit dengan alfabet regional: Latin-1 mencakup bahasa Eropa Barat, Latin-2 Eropa Timur, Latin-5 Turki, Cyrillic-1, Greek-1, Arabic-1, Hebrew-1, Thai-1. Ini menghasilkan lima belas pengkodean 8-bit yang tidak kompatibel: 0xE9 berarti é di Latin-1, tetapi karakter berbeda di Cyrillic-1, tidak terdefinisi di ASCII ketat, dan karakter lain lagi di Mac Roman. Ketidakcocokan menghasilkan kondisi mojibake yang terkenal (Jepang: 文字化け, "transformasi karakter": teks yang terlihat rusak dari ketidakcocokan pengkodean).
Proyek Unicode dimulai sebagai respons. Unicode Consortium didirikan pada 3 Januari 1991; Unicode 1.0 diterbitkan pada Oktober 1991 dengan sekitar 7.000 karakter. Pada Unicode 16.0 (dirilis 10 September 2024) standar mencakup 154.998 karakter di 168 skrip. Unicode adalah sistem code-point: pengidentifikasi numerik unik untuk setiap karakter: tetapi bukan langsung pengkodean biner. Beberapa pengkodean Unicode ada: UTF-32 (4 byte per karakter, lebar tetap), UTF-16 (2 atau 4 byte, variabel), dan yang dominan untuk web modern: UTF-8.
UTF-8 dirancang oleh Ken Thompson dengan Rob Pike di atas placemat di diner New Jersey sekitar 2 September 1992; Plan 9 berjalan di atasnya pada 8 September. UTF-8 adalah panjang variabel: 1 byte untuk karakter ASCII (U+0000 hingga U+007F), 2 byte untuk U+0080 hingga U+07FF, 3 byte untuk U+0800 hingga U+FFFF, 4 byte untuk U+10000 hingga U+10FFFF. Bit tinggi dari setiap byte menunjukkan posisinya dalam urutan multi-byte (0xxxxxxx = ASCII 1-byte, 110xxxxx = byte pertama dari urutan 2-byte, 10xxxxxx = byte kelanjutan, dll.) yang membuat UTF-8 self-synchronising: Anda dapat mulai mendekode dari posisi acak mana pun dan menemukan batas karakter berikutnya dengan melihat beberapa byte berikutnya. UTF-8 juga kompatibel-mundur dengan ASCII: setiap file ASCII adalah file UTF-8 yang valid. Pada 2026, W3Techs melaporkan bahwa sekitar 98,9% dari semua halaman web mendeklarasikan UTF-8 sebagai pengkodeannya: itu secara dominan adalah pengkodean teks dunia.
Contoh Biner ASCII
Beberapa karakter ASCII representatif dalam bentuk biner 8-bitnya (dengan 0 di depan karena ASCII secara teknis 7-bit tetapi diselaraskan-byte):
- 'A' (A kapital) = desimal 65 =
01000001 - 'a' (a kecil) = desimal 97 =
01100001(catatan: berbeda dari 'A' tepat satu bit: bit 5: itulah mengapa trik konversi case XOR-dengan-0x20 berfungsi) - '0' (digit nol) = desimal 48 =
00110000 - '9' (digit sembilan) = desimal 57 =
00111001 - ' ' (spasi) = desimal 32 =
00100000 - '\n' (newline / line feed) = desimal 10 =
00001010 - '!' (tanda seru) = desimal 33 =
00100001
"Hello" dalam ASCII menjadi 01001000 01100101 01101100 01101100 01101111: lima byte, satu per karakter. Dalam UTF-8 itu identik karena setiap karakter ASCII juga merupakan karakter UTF-8 1-byte yang valid. "Café" dalam UTF-8 adalah 01000011 01100001 01100110 11000011 10101001: empat karakter, tetapi lima byte, karena é (U+00E9) memerlukan dua byte (11000011 10101001) di bawah UTF-8.
Pengkodean Multi-Byte UTF-8, Secara Mekanis
Aturan pengkodean UTF-8 menggunakan pola bit-tinggi tertentu untuk menunjukkan posisi byte. 1-byte (rentang ASCII U+0000 hingga U+007F): 0xxxxxxx: bit tinggi adalah 0, 7 bit yang tersisa adalah code point. 2-byte (U+0080 hingga U+07FF): 110xxxxx 10xxxxxx: byte pertama dimulai dengan 110, byte kelanjutan dimulai dengan 10; bit x bergabung untuk memberikan code point 11-bit. 3-byte (U+0800 hingga U+FFFF): 1110xxxx 10xxxxxx 10xxxxxx: byte pertama dimulai dengan 1110, dua byte kelanjutan; code point 16-bit. 4-byte (U+10000 hingga U+10FFFF): 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx: mencakup seluruh ruang Unicode termasuk emoji. Huruf Rusia п (U+043F) membutuhkan 2 byte dalam UTF-8 (11010000 10111111); karakter Tiongkok 中 (U+4E2D) membutuhkan 3 byte; emoji 🎉 (U+1F389) membutuhkan 4 byte. Mengkodekan teks sebagai biner UTF-8 selalu menghasilkan urutan yang valid; mendekode memerlukan pemeriksaan bahwa byte kelanjutan memiliki prefiks 10 (jika tidak, input adalah UTF-8 tidak valid dan decoder biasanya mengganti urutan yang buruk dengan karakter pengganti U+FFFD).
Konvensi Notasi
Teks biner muncul di alam liar dalam beberapa konvensi, semuanya merujuk pada byte yang sama yang mendasarinya. Byte yang dipisahkan spasi: 01001000 01100101 01101100 01101100 01101111: bentuk yang paling mudah dibaca, umum dalam tutorial dan teka-teki. Berkelanjutan tanpa-spasi: 0100100001100101011011000110110001101111: lebih kompak, mengharuskan pembaca mengetahui batas byte adalah setiap 8 digit. Dipisahkan koma: 01001000,01100101,01101100,01101100,01101111: umum dalam data uji yang dikodekan-CSV. Pasangan hex (Base16): 48 65 6c 6c 6f: byte yang sama ditampilkan dengan dua digit hex masing-masing alih-alih delapan biner; jauh lebih kompak dan umum dalam alat yang menghadap-programmer (hexdump, editor hex). Desimal: 72 101 108 108 111: nilai integer yang mendasari setiap byte. Alat ini menerima input biner yang dipisahkan-spasi, dipisahkan-koma, dan berkelanjutan untuk biner-ke-teks; menghasilkan output biner 8-bit yang dipisahkan-spasi untuk teks-ke-biner.
Penggunaan umum
- Pendidikan ilmu komputer. Representasi biner adalah fondasional dalam CS101: siswa belajar apa itu "byte" dengan mengkodekan nama mereka dan membacanya kembali.
- Teka-teki pesan tersembunyi. Escape room, koordinat geocaching, petunjuk ARG (alternate reality game), tantangan capture-the-flag semua menggunakan teks yang dikodekan biner sebagai cipher umum karena segera dapat dikenali sebagai "biner" tetapi mengharuskan pembaca mengetahui konversi.
- Steganografi. Menyembunyikan pesan di depan mata dengan mengkodekannya sebagai biner yang terlihat seperti noise: string biner dalam data least-significant-bit gambar, atau tersembunyi dalam spasi trailing email.
- Men-debug masalah pengkodean. Ketika "Café" ditampilkan sebagai "Café" atau "€" alih-alih "€", byte mengungkapkan apa yang terjadi: urutan UTF-8 ditafsirkan sebagai Latin-1 atau sebaliknya. Melihat representasi biner aktual membuat ketidakcocokan pengkodean menjadi jelas.
- Analisis forensik. Memulihkan teks dari file rusak, backup parsial, atau penyimpanan rusak sering kali berarti melihat byte mentah dan mendekodenya dengan tangan.
- Mempelajari pemrograman tingkat-rendah. Operasi bitwise, bit shifting, konstruksi mask: semuanya menjadi intuitif ketika Anda dapat melihat representasi biner dari nilai.
- Seni dan tato biner. "I love you" dalam biner sebagai hadiah pernikahan, T-shirt biner gaya-XKCD, tato angka biner. Estetika 0 dan 1 murni memiliki subkultur kecil tetapi nyata.
Trik Pengkodean yang Layak Diketahui
Mojibake dari ketidakcocokan pengkodean. Urutan byte yang sama yang ditafsirkan di bawah pengkodean berbeda menghasilkan teks yang berbeda (dan biasanya kacau). 0xE9 adalah é di Latin-1 tetapi awal dari urutan UTF-8 yang tidak valid (byte apa pun ≥ 0x80 harus berupa byte kelanjutan atau awal dari urutan multi-byte). Ketika file UTF-8 dibuka sebagai Latin-1, setiap karakter UTF-8 multi-byte menjadi 2-4 karakter Latin-1 yang kacau: mode kegagalan kanonis "Café" → "Café". BOM (Byte Order Mark). Urutan 2-3 byte di awal absolut file Unicode yang menunjukkan urutan byte: UTF-16 little-endian dimulai dengan FF FE, UTF-16 big-endian dengan FE FF, BOM UTF-8 (jarang digunakan, kadang-kadang disebut "UTF-8 dengan BOM") dengan EF BB BF. BOM membantu untuk membedakan pengkodean Unicode tetapi wajib hanya untuk UTF-16 dan UTF-32; IETF tidak menganjurkan menambahkannya ke file UTF-8 karena merusak alat yang mengharapkan file dimulai dengan konten normal. Endianness penting untuk UTF-16 dan UTF-32 (yang mengurutkan byte dari unit kode multi-byte) tetapi tidak untuk UTF-8 (yang dikodekan stream-byte: urutan ditentukan oleh spesifikasi, bukan oleh hardware).
Tabel referensi ASCII
Privasi: Mengapa Hanya-Browser Penting Bahkan di Sini
Konversi biner tampak tidak berbahaya, tetapi teks yang dikonversi adalah persis hal-hal di mana privasi penting: teka-teki pesan tersembunyi antar teman, frasa rahasia yang dikodekan untuk eksperimen steganografi, string sensitif yang di-debug untuk masalah pengkodean, atau hanya apa pun di mana pembaca mengharapkan biner menjadi representasi pribadi. Alat ini berjalan sepenuhnya di browser Anda melalui JavaScript: verifikasi di tab Network DevTools saat Anda mengonversi, atau bawa halaman offline (mode pesawat) setelah dimuat dan konverter masih berfungsi. Aman untuk petunjuk teka-teki, string debugging sensitif, atau teks apa pun yang tidak ingin Anda salin ke hard drive orang asing.
Pertanyaan umum
Format apa yang harus dimiliki input biner?
Masukkan nilai biner 8-bit yang dipisahkan oleh spasi (mis. "01001000 01101001"). Alat juga menerima nilai tanpa spasi jika setiap byte tepat 8 digit, atau dipisahkan oleh koma.
Apakah mendukung emoji atau karakter non-Latin?
Arah teks→biner mendukung karakter Unicode apa pun · setiap karakter diperluas ke representasi biner penuhnya dalam pengkodean UTF-8. Untuk biner→teks, setiap kelompok 8 bit didekode sebagai byte ASCII (0-255).
Mengapa 8 digit per karakter?
Setiap kelompok 8 digit biner (bit) merepresentasikan satu byte. ASCII menggunakan 7 bit (nilai 0-127) tetapi biasanya ditampilkan dalam 8 bit dengan 0 di depan. Sebuah byte dapat merepresentasikan 256 nilai berbeda (0-255), yang mencakup semua karakter keyboard standar.
Dari mana sebenarnya asal biner?
Ide matematis mendahului komputer 250 tahun. Gottfried Wilhelm Leibniz menulis deskripsi formal Barat pertama dari aritmetika biner pada 1703 ("Explication de l'Arithmétique Binaire"), terinspirasi sebagian oleh heksagram I Ching Tiongkok. Laws of Thought George Boole (1854) memberi biner fondasi aljabarnya (AND, OR, NOT). Tesis MIT Claude Shannon (1937) menghubungkan aljabar Boolean dengan sirkuit relai listrik: momen fondasional untuk elektronik digital. Komputer biner elektronik pertama datang pada akhir 1940-an (Manchester Baby Juni 1948, EDSAC Mei 1949).
Apa perbedaan antara ASCII dan UTF-8?
ASCII (1963) adalah pengkodean lebar-tetap 7-bit yang mencakup 128 karakter: alfabet bahasa Inggris dasar, digit, tanda baca umum, kode kontrol. UTF-8 (Thompson + Pike, 1992) adalah pengkodean panjang-variabel dari seluruh standar Unicode (~155.000 karakter pada Unicode 16.0 pada September 2024). UTF-8 kompatibel-mundur dengan ASCII: setiap urutan byte ASCII yang valid juga UTF-8 yang valid. Perbedaan penting di atas rentang ASCII: é, 中, 🎉 semua memerlukan beberapa byte dalam UTF-8. Pada 2026, ~98,9% halaman web mendeklarasikan UTF-8 sebagai pengkodeannya (per W3Techs).
Apakah konversi saya dikirim ke mana pun?
Tidak. Konversi berjalan sepenuhnya di browser Anda melalui JavaScript. Teks dan biner yang Anda tempel tidak pernah melintasi jaringan: verifikasi di tab Network DevTools saat Anda mengklik Konversi, atau bawa halaman offline (mode pesawat) setelah dimuat dan alat masih berfungsi.