tools / binary
binary/
Konversi teks ke biner (0 dan 1) dan sebaliknya, 8 bit per byte. Pilih UTF-8, GBK, UTF-16, dan lainnya.
Teks
Biner
Pertanyaan umum
Berapa bit satu karakter dalam biner, termasuk karakter Mandarin?
Setiap byte selalu ditulis sebagai tepat 8 bit, jadi panjangnya bergantung pada set karakter. Di UTF-8, karakter Mandarin yang umum memakai 3 byte, yaitu 24 bit: 中 adalah 11100100 10111000 10101101. Di GBK dan GB2312 memakai 2 byte, yaitu 16 bit: 中 adalah 11010110 11010000. Huruf Latin dan angka memakai 1 byte; A adalah 01000001.
Biner ke teks menampilkan pesan jumlah bit bukan kelipatan 8. Apa yang harus dilakukan?
Setiap 8 bit membentuk satu byte, jadi setelah spasi dihapus jumlah bit harus kelipatan 8; jika tidak, pesan error memberi tahu berapa bit yang perlu ditambahkan atau dihapus di bagian akhir. Biasanya ada bit yang hilang atau berlebih saat menyalin. Sebagian sumber menulis setiap byte tanpa angka 0 di depan, misalnya A ditulis 1000001 (7 bit); tambahkan angka 0 di depannya sampai 8 bit lebih dulu, karena alat ini tidak melakukannya otomatis.
Muncul pesan bukan 0 atau 1, atau input saya memakai awalan 0b atau koma. Apa yang harus dilakukan?
Hanya 0 dan 1 ASCII yang diterima; spasi, baris baru, dan tab diabaikan. Awalan 0b, koma, tanda hubung, serta 0 dan 1 full-width tidak diterima, dan pesan error menunjukkan posisi karakternya. Hapus atau ganti di editor teks, lalu tempel lagi.
Biner ke teks menampilkan pesan bahwa byte bukan teks yang valid, atau hasilnya berantakan. Apa yang harus dilakukan?
Artinya bit tersebut tidak dienkode dengan set karakter yang sedang dipilih, jadi coba set karakter lain. Untuk teks Mandarin, yang paling umum adalah UTF-8 dan GBK. Alat ini tidak pernah menampilkan byte yang tidak bisa didekode sebagai karakter kacau. Satu-satunya pengecualian adalah ISO-8859-1: setiap byte punya padanan karakter sehingga tidak pernah error, tetapi teks Mandarin akan berubah menjadi karakter kacau. GBK dan GB2312 sama-sama didekode dengan dekoder GB18030 bawaan browser, yang lebih longgar daripada Python atau Java, sehingga memilih GB2312 pun bisa mendekode karakter yang hanya ada di GBK. Jika datanya memang bukan teks sejak awal (gambar, arsip), set karakter apa pun tidak akan bisa mendekodenya.
Mengapa mengetik angka 10 tidak menghasilkan 1010?
Alat ini mengonversi byte dari teks, bukan nilai angka. Input 10 adalah dua karakter, "1" dan "0", yang di UTF-8 menjadi 00110001 00110000. Untuk mengubah bilangan desimal 10 menjadi bilangan biner 1010 diperlukan konverter basis bilangan, yang tidak tersedia di sini.
Apa bedanya pemisah "Spasi" dengan "Tanpa"?
Dengan "Spasi", setiap byte dipisahkan satu spasi; dengan "Tanpa", bit-bitnya menyambung menjadi satu string. Bit pada setiap byte diurutkan dari tinggi ke rendah, jadi bit paling kiri adalah bit paling signifikan. Dekode menerima kedua bentuk dan tidak mengharuskan spasi jatuh di batas byte; yang dihitung hanya jumlah total bit setelah spasi dihapus.
Mengapa hasil UTF-16 dan UTF-32 begitu panjang?
UTF-16 memakai minimal 2 byte per karakter dan menambahkan FE FF (11111110 11111111) di awal, jadi 中 adalah 11111110 11111111 01001110 00101101. UTF-32 memakai tepat 4 byte per karakter, jadi 中 adalah 00000000 00000000 01001110 00101101. Keduanya big-endian.
Apakah isi yang saya masukkan diunggah?
Tidak. Konversi berjalan di browser Anda, tanpa mengirim permintaan jaringan apa pun dan tanpa menyimpan apa pun.