Konverter teks ke biner
Terjemahkan teks ke biner — bita UTF-8-nya, delapan digit per bita — dan biner kembali ke teks, dengan baris dan kolom karakter yang tidak pada tempatnya.
01001000 01100001 01101100 01101111
Bagaimana teks menjadi angka satu dan nol
Komputer menyimpan teks sebagai bita, dan bita terdiri atas delapan bit, masing-masing 0 atau 1. Halaman ini memperlihatkan bita-bita itu kepada Anda: ketik teks dan setiap bita keluar sebagai delapan digit biner, dengan spasi di antara satu bita dan bita berikutnya, atau tempel biner lalu baca teks yang dibentuknya. Ia bekerja ke kedua arah, berjalan sepenuhnya di peramban Anda, dan terbuka dengan contoh yang sudah dikonversi.
Bita mana yang menyusun teks bergantung pada pengodeannya, dan di sini pengodean itu adalah UTF-8 kecuali Anda memilih yang lain, karena UTF-8 adalah yang dimuat halaman web, URL, dan sebagian besar berkas teks. Pemilih “Satuan” menentukan apa yang diwakili satu grup digit: satu bita UTF-8, satu bita UTF-16 dalam salah satu dari dua urutan bita, atau satu titik kode. Satuan yang Anda pilih berlaku di kedua arah, dan halaman ini tidak pernah mengubahnya untuk Anda. Ketika yang Anda tempel tampak seperti satuan lain, halaman ini mengatakannya dan menaruh tombol di samping pemberitahuannya, dan tidak ada yang beralih sampai Anda menekannya.
Mengapa setiap bita ditulis dengan delapan digit
Bit adalah satu digit biner, dan bita adalah delapan bit. Delapan bit dapat diatur dengan 256 cara, sehingga bita menampung bilangan bulat dari 0, yaitu 00000000, sampai 255, yaitu 11111111. Berkas, memori, dan jaringan dihitung dalam bita, dan pada mesin mana pun yang mungkin Anda temui, bita berisi delapan bit; standar jaringan menyebutnya oktet, kata yang hanya bisa berarti delapan.
Dari nilai-nilai itu, 128 yang pertama adalah ASCII, kode untuk huruf bahasa Inggris, angka, dan tanda baca yang umum, dan 128 nilai hanya memerlukan tujuh bit. Karena itu bita setiap karakter ASCII diawali 0, dan UTF-8 menyisihkan bita yang diawali 1 untuk segala sesuatu yang tidak dimiliki ASCII. Halaman ini menulis setiap bita dengan kedelapan digitnya, termasuk nol di depan, juga karena alasan praktis: bita dengan lebar tetap yang sama dapat dibaca kembali tanpa spasi di antaranya, per delapan digit.
Huruf H, bit demi bit
Ambil huruf kapital H. ASCII memberinya nomor 72, dan 72 sebagai bita adalah 01001000. Dibaca dari kiri, kedelapan posisinya bernilai 128, 64, 32, 16, 8, 4, 2, dan 1, dan setiap 1 menyumbangkan nilai posisinya: angka satu pada bita ini berada di posisi yang bernilai 64 dan 8, dan 64 ditambah 8 sama dengan 72. Huruf kecil i adalah 105, yaitu 64, 32, 8, dan 1, sehingga Hi keluar sebagai 01001000 01101001.
Besar-kecil huruf adalah satu bit. Huruf kecil h adalah 01101000, bita H dengan posisi bernilai 32 dinyalakan, dan hal yang sama berlaku untuk setiap huruf alfabet bahasa Inggris, karena ASCII memberi setiap huruf kecil nomor yang tepat 32 di atas huruf kapitalnya.
Pemilih “Basis” menulis bita yang sama dengan cara lain tanpa mengubahnya. Dengan “Desimal” terpilih, H adalah 72; dengan “Heksadesimal”, 48; dengan “Oktal”, 110. Itu satu bita yang ditulis dengan empat cara, dan pembacaan menerima digitnya kembali dalam basis mana pun yang telah Anda pilih. Konverter teks ke heksadesimal terbuka pada “Heksadesimal”, tempat satu bita memakan dua digit, bukan delapan.
Mengapa huruf di luar ASCII memakan dua bita atau lebih
ASCII berakhir di 127. Huruf beraksen, huruf alfabet Kiril, Ibrani, atau Arab, karakter Jepang atau Korea, dan emoji semuanya memiliki titik kode di atasnya, dan UTF-8 menulis karakter dalam satu bita hanya jika karakter itu ASCII, sambil menyisihkan bita yang diawali 1 untuk semua yang lain. Karena itu masing-masing memakan dua, tiga, atau empat bita, dan biner adalah tempat Anda bisa menyaksikan hal itu terjadi, karena bit-bit pertama setiap bita menyatakan bita itu bagian mana dari karakternya:
- 0xxxxxxx adalah karakter dalam satu bita: ASCII, dengan ketujuh bitnya ditulis di tempat x berada. H adalah 01001000.
- 110xxxxx 10xxxxxx adalah karakter dalam dua bita, untuk titik kode hingga 2.047, yang mencakup huruf beraksen bahasa-bahasa Eropa serta alfabet Kiril, Ibrani, dan Arab. é adalah 11000011 10101001 dan א adalah 11010111 10010000.
- 1110xxxx 10xxxxxx 10xxxxxx adalah tiga bita, untuk titik kode hingga 65.535, tempat kana Jepang dan kanji yang umum, Hangul Korea, dan tanda euro berada. € adalah 11100010 10000010 10101100.
- 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx adalah empat bita, untuk setiap titik kode di atas itu, tempat sebagian besar emoji berada.
Bita pertama yang diawali dua, tiga, atau empat angka satu menyatakan berapa bita yang dimiliki karakternya, dan setiap bita yang melanjutkan karakter diawali 10, sehingga tidak ada bita dari tengah karakter yang bisa disangka sebagai awal karakter. Buang bit penanda dari kedua bita א, yaitu 110 dan 10, dan kesebelas bit yang tersisa, 10111010000, adalah titik kodenya, U+05D0, dalam biner. Dengan “Heksadesimal” terpilih, kedua bita yang sama terbaca D7 90, dan polanya melebur ke dalam digit; dalam biner, pola itu berada di bit-bit pertama setiap bita.
Empat bita untuk satu emoji
😀 adalah U+1F600, jauh di atas 65.535, jadi UTF-8 menulisnya dalam empat bita: 11110000 10011111 10011000 10000000. Bita pertama diawali empat angka satu, jadi ia memulai karakter empat bita, dan masing-masing dari tiga bita sesudahnya diawali 10. Titik kodenya memakan tujuh belas digit biner, 11111011000000000, satu lebih banyak daripada enam belas yang dapat ditampung karakter tiga bita; pola empat bita punya ruang untuk dua puluh satu.
Emoji yang tampak seperti satu simbol bisa terdiri atas beberapa titik kode, dan masing-masing ditulis utuh. Tangan melambai dengan warna kulit adalah dua titik kode dan delapan bita. Keluarga beranggota empat orang adalah tujuh titik kode, yaitu empat orang dan tiga penggabung tak terlihat di antara mereka, dan dua puluh lima bita. Tempel salah satunya ke halaman ini lalu hitung grupnya.
Mengapa konverter lain mencetak sebelas digit untuk א
Konverter yang mencetak sebelas digit untuk א, 10111010000, tidak menulis bitanya. Ia menulis nomor yang diberikan Unicode kepada huruf itu, titik kodenya U+05D0, yaitu 1488, sebagai satu bilangan biner, dan bilangan itu bukan bita dari apa pun yang disimpan berkas atau jaringan. Pesan yang ditulis dengan cara itu hanya dapat dibaca kembali oleh pembaca yang membuat asumsi yang sama.
Kedua jawaban itu lebih dekat daripada kelihatannya. Kesebelas digit itu persis bit-bit yang disebar UTF-8 ke kedua bitanya setelah bit penanda dibuang, seperti yang ditunjukkan di atas, jadi kedua konverter menulis bilangan yang sama, dan hanya satu di antaranya yang menulis bita yang menyimpannya. Pada karakter ASCII keduanya sepakat kecuali soal nol di depan, itulah sebabnya keduanya memberi jawaban yang sama untuk teks bahasa Inggris biasa dan berpisah jalan pada hampir semua hal lain.
Halaman ini juga memberi jawaban itu, sebagai satuan yang Anda pilih, bukan satuan yang diasumsikannya: pilih “Titik kode” dan א ditulis sebagai 10111010000, lalu dibaca kembali dengan cara yang sama. Tempel pesan yang ditulis konverter titik kode dalam bahasa Ibrani, Rusia, atau Jepang selagi UTF-8 terpilih, dan grupnya terlalu lebar untuk bita; halaman ini tidak menebak, melainkan mengatakan bahwa grupnya tampak seperti titik kode dan menawarkan “Beralih ke titik kode”. Konverter yang memproses unit kode UTF-16 satu per satu, seperti yang dilakukan charCodeAt di JavaScript, menulis 😀 sebagai dua bilangan enam belas digit, yaitu kedua paruh pasangan surogat yang dipakai UTF-16 untuk menyimpannya, dan “Titik kode” membaca pasangan itu kembali sebagai satu emoji.
Membaca biner kembali sebagai teks
Untuk mengubah biner kembali menjadi teks, alihkan arah ke “Biner ke teks” lalu ketik atau tempel digitnya, dan keluarannya adalah teks yang dieja digit itu. “Gunakan sebagai masukan” melakukannya dalam sekali klik, dengan memindahkan keluaran ke masukan dan membalik arah, yang merupakan cara tercepat untuk memeriksa perjalanan bolak-balik. Semua bentuk berikut dibaca sebagai bita yang sama:
- Karakter spasi jenis apa pun, termasuk pemutus baris, serta koma, titik koma, titik dua, atau tanda hubung di antara bita.
- Tanpa pemisah sama sekali, di mana pun digitnya terbagi menjadi bita utuh berisi delapan digit, yaitu cara “Rapat” di bawah “Gaya” menuliskannya.
- Grup berisi tujuh digit atau kurang, yaitu rupa karakter ASCII yang nol di depannya dibuang: 1001000 1101001 terbaca sebagai Hi.
- 0b di depan bita, dalam huruf besar maupun kecil, dan sepasang kurung siku, kurung kurawal, tanda kurung, atau tanda kutip yang membungkus seluruhnya.
Namun halaman ini tidak menebak. Karakter lain apa pun, atau grup yang lebih panjang dari delapan digit dan tidak terbagi menjadi bita utuh, menghentikan pembacaan, dan halaman ini mengatakannya beserta baris dan kolom tempatnya berada, dengan baris Anda sendiri ditampilkan di bawahnya dan tempat itu ditandai. Dalam pesan yang panjang, itulah bedanya salah ketik yang bisa Anda temukan dengan teks yang keliru diam-diam.
Biner yang terbaca mulus sebagai bita tetapi bukan teks UTF-8 ditampilkan, bukan ditolak. Pesan yang terpotong di tengah karakter kembali dengan deretan yang rusak ditampilkan sebagai U+FFFD, karakter pengganti, dan pemberitahuan di bawah keluaran menyebut berapa banyak deretan seperti itu dan di mana yang pertama dimulai: posisi bitanya, digit yang Anda tempel untuknya, serta baris dan kolomnya.
Biner untuk teks, dan biner untuk bilangan
Ketik 5 di sini dan jawabannya 00110101, bukan 101. Halaman ini menulis karakter 5, yang diberi nomor 53 oleh ASCII, karena digit teks adalah bita yang menyimpannya; 101 adalah bilangan lima yang ditulis dalam biner, yang merupakan pertanyaan lain dengan jawaban lain. Hal yang sama berlaku untuk 255: diketik di sini, ia adalah tiga karakter dan tiga bita, sedangkan bilangan 255 adalah satu bita, 11111111.
Ketika yang Anda pegang adalah bilangan, bukan teks, seperti hitungan, register, atau nilai yang dicetak program, bawalah ke Konverter basis bilangan: halaman itu mengonversi nilainya sendiri antara biner, oktal, desimal, heksadesimal, dan basis lain, dan pada lebar tetap ia menulis nilai negatif dalam komplemen dua serta menampilkan setiap bit sebagai bit yang bisa Anda klik untuk dibalik. Halaman ini berangkat dari karakter teks; halaman itu berangkat dari bilangan.
Pertanyaan yang sering diajukan
- Bagaimana cara menulis nama saya dalam biner?
- Ketik nama itu di kotak masukan dan ia keluar bita demi bita, delapan digit per bita dengan spasi di antara bita. Nama Ada, misalnya, adalah 01000001 01100100 01100001. Huruf beraksen, atau huruf dari alfabet lain, memakan dua bita atau lebih, dan spasi di antara dua nama adalah bita tersendiri, 00100000.
- Satu karakter memakan berapa bit?
- Dalam UTF-8, delapan untuk huruf, angka, atau tanda baca ASCII, enam belas untuk huruf beraksen atau huruf Kiril, Ibrani, atau Arab, dua puluh empat untuk kana Jepang, kanji yang umum, Hangul Korea, dan tanda euro, serta tiga puluh dua untuk sebagian besar emoji. Sesuatu yang Anda lihat sebagai satu simbol bisa berupa beberapa titik kode di baliknya, dan masing-masing memakan bitnya sendiri.
- Bisakah saya menempel biner tanpa spasi di antara bita?
- Bisa, di mana pun digitnya terbagi menjadi bita utuh: enam belas digit adalah dua bita dan dua puluh empat adalah tiga. Grup yang lebih panjang dari delapan digit dan panjangnya bukan kelipatan delapan tidak dapat dibagi tanpa menebak bita mana yang kehilangan digit, jadi grup itu ditolak di baris dan kolomnya alih-alih dibaca keliru.
- Mengapa teks saya kembali dengan tanda tanya di dalam belah ketupat?
- Simbol itu adalah U+FFFD, karakter pengganti, yang ditaruh halaman ini di mana pun bitanya bukan teks UTF-8: paling sering ada bita yang hilang dan karakter yang terpotong, atau bitanya memang tidak pernah UTF-8. Alih-alih menolak seluruh pesan, halaman ini menampilkan setiap deretan yang rusak dengan cara itu dan menyebut di bawah keluaran berapa jumlahnya dan di mana yang pertama dimulai, sehingga Anda bisa menemukan kerusakannya dalam apa yang Anda tempel.
- Mengapa konverter lain memberi saya biner yang berbeda?
- Kemungkinan besar konverter itu menulis titik kode setiap karakter, bukan bitanya. Keduanya sepakat pada ASCII kecuali soal nol di depan, dan berbeda di luarnya: א adalah 11010111 10010000 di sini dan 10111010000 di sana. Pilih “Titik kode” untuk mendapatkan jawaban konverter itu, atau untuk membaca kembali pesan yang ditulisnya.
- Mengapa 5 bukan 101 di sini?
- Karena 5 yang diketik ke dalam kotak adalah karakter, dan halaman ini menulis bita yang menyimpannya, 00110101. Bilangan lima adalah 101 dalam biner; untuk bilangan, bukan teks, gunakan Konverter basis bilangan.
- Apakah teks saya dikirim ke server?
- Tidak. Kedua arah berjalan sepenuhnya di peramban Anda, jadi teks yang Anda ketik dan biner yang Anda tempel tidak pernah meninggalkan perangkat Anda.
Alat terkait
- Konverter basis bilangan
Ketik 5 di halaman ini dan Anda mendapatkan bita yang menyimpan karakter 5, yaitu 00110101. Halaman itu untuk bilangan, bukan teks: nilainya sendiri yang dikonversi, sehingga lima menjadi 101.
- Konverter teks ke heksadesimal
Heksadesimal menulis satu bita dengan dua digit, sedangkan biner memerlukan delapan — Hi adalah 01001000 01101001 di sini dan 48 69 di sana — dan begitulah dump menampilkan bita dan kode menuliskannya. Halaman ini juga menyediakan heksadesimal; halaman itu terbuka pada heksadesimal.
- Base64
Kodekan dan dekode Base64 — dukungan UTF-8 penuh.
- Pengode / pendekode URL
Persen-kodekan nilai atau seluruh URL, dan sebaliknya.