tools / binary
binary/
Chuyển văn bản sang nhị phân (0 và 1) và ngược lại, mỗi byte 8 bit. Chọn bảng mã UTF-8, GBK, UTF-16 và nhiều loại khác.
Văn bản
Nhị phân
Câu hỏi thường gặp
Một chữ Hán đổi sang nhị phân là bao nhiêu bit
Mỗi byte luôn được viết thành đúng 8 bit, nên độ dài phụ thuộc vào bảng mã. Với UTF-8, chữ Hán thông dụng chiếm 3 byte, tức 24 bit: 中 là 11100100 10111000 10101101. Với GBK và GB2312, chữ Hán chiếm 2 byte, tức 16 bit: 中 là 11010110 11010000. Chữ cái tiếng Anh và chữ số chiếm 1 byte; A là 01000001.
Đổi nhị phân sang văn bản báo số bit không chia hết cho 8 thì phải làm sao
Cứ 8 bit tạo thành một byte, nên sau khi bỏ khoảng trắng, tổng số bit phải chia hết cho 8; nếu không, thông báo lỗi sẽ cho biết cần thêm bao nhiêu bit hoặc bỏ bao nhiêu bit ở cuối. Thường là do khi sao chép bị thiếu hoặc thừa vài bit. Một số nguồn chỉ viết các bit có nghĩa của mỗi byte, ví dụ A viết thành 1000001 (7 bit); loại này cần thêm số 0 ở đầu cho đủ 8 bit trước, vì công cụ này không tự bổ sung.
Báo "không phải 0 hoặc 1", hoặc nội dung có tiền tố 0b, dấu phẩy thì phải làm sao
Chỉ nhận số 0 và 1 nửa chiều rộng (ASCII); dấu cách, xuống dòng và tab được bỏ qua. Tiền tố 0b, dấu phẩy, dấu gạch ngang, cùng 0 và 1 toàn chiều rộng đều không được nhận, lỗi sẽ chỉ ra đó là ký tự thứ mấy; hãy xóa hoặc thay chúng trong trình soạn thảo văn bản rồi dán lại.
Đổi nhị phân sang văn bản báo các byte không phải văn bản hợp lệ, hoặc kết quả bị loạn chữ thì phải làm sao
Nghĩa là chuỗi nhị phân này không được mã hóa theo bảng mã đang chọn, hãy thử bảng mã khác. Với nội dung tiếng Trung, thường gặp nhất là UTF-8 và GBK. Công cụ này không hiển thị các byte không giải mã được thành ký tự loạn, chỉ có ISO-8859-1 là ngoại lệ: mỗi byte đều ứng với một ký tự nên không bao giờ báo lỗi, nhưng chữ Hán sẽ biến thành ký tự loạn. GBK và GB2312 đều dùng bộ giải mã GB18030 có sẵn của trình duyệt, dễ tính hơn Python hay Java, nên chọn GB2312 vẫn giải mã được cả những chữ chỉ có trong GBK. Nếu dữ liệu vốn không phải văn bản (ảnh, tệp nén) thì chọn bảng mã nào cũng không giải mã ra được.
Vì sao nhập số 10 lại không ra 1010
Công cụ này chuyển các byte của văn bản, không phải giá trị số. Chuỗi 10 bạn nhập là hai ký tự "1" và "0", theo UTF-8 là 00110001 00110000. Muốn đổi số thập phân 10 thành số nhị phân 1010 cần dùng công cụ đổi cơ số, ở đây không làm được.
Dấu phân cách chọn "Dấu cách" và "Không" khác nhau thế nào
Chọn "Dấu cách" thì giữa các byte có một dấu cách; chọn "Không" thì các bit viết liền thành một chuỗi. Các bit của mỗi byte xếp từ cao xuống thấp, bit ngoài cùng bên trái là bit có trọng số lớn nhất. Khi giải mã, cả hai cách viết đều được nhận, dấu cách không cần nằm đúng ranh giới byte, chỉ có tổng số bit sau khi bỏ khoảng trắng là quan trọng.
Vì sao kết quả UTF-16 và UTF-32 dài như vậy
UTF-16 dùng ít nhất 2 byte cho mỗi ký tự và thêm FE FF (11111110 11111111) ở đầu, nên 中 là 11111110 11111111 01001110 00101101. UTF-32 dùng đúng 4 byte cho mỗi ký tự, 中 là 00000000 00000000 01001110 00101101. Cả hai đều là big-endian.
Nội dung tôi nhập có bị tải lên không
Không. Việc chuyển đổi diễn ra trong trình duyệt, không gửi bất kỳ yêu cầu nào và cũng không lưu gì.