Bộ chuyển đổi ASCII sang nhị phân

Bộ chuyển đổi ASCII sang nhị phân lấy từng ký tự trong đầu vào, tra code point bảy bit của nó, đệm thành một byte đầy đủ và in tám bit bằng các số 0 và 1. Hữu ích cho bài tập khoa học máy tính, đọc hex dump từng byte, và viết test fixture cho mã serial hoặc network cấp thấp khi bạn cần thấy chính xác bit nào đi qua đường truyền.

ASCII trở thành nhị phân như thế nào

  1. 1

    Dán văn bản của bạn

    Chấp nhận mọi ký tự ASCII in được. Chữ cái, chữ số, dấu câu, khoảng trắng.

  2. 2

    Mỗi ký tự được ánh xạ sang mã decimal

    Ví dụ, `A` là 65, `a` là 97, space là 32.

  3. 3

    Số decimal đó thành nhị phân 8 bit

    65 trong binary là `01000001`. Số không đầu đệm nó thành một byte đầy đủ.

  4. 4

    Các byte được nối bằng khoảng trắng

    Vậy `Hi` trở thành `01001000 01101001`. Đổi dấu phân tách nếu định dạng đích của bạn cần thứ khác.

Ví dụ tính

Từ Cat được mã hóa thành:

Ký tự Thập phân Nhị phân
C 67 01000011
a 97 01100001
t 116 01110100

Ghép lại: 01000011 01100001 01110100.

Vì sao 8 bit mà không phải 7?

ASCII được định nghĩa là mã 7 bit — giá trị 0-127. Nhưng mọi máy hiện đại lưu ký tự trong byte nguyên, nên bit cao nhất luôn hiện diện và luôn là zero với ASCII thuần. Đệm thành 8 bit khớp với những gì bạn sẽ thấy trong hex editor hoặc Wireshark trace.

Đầu vào không phải ASCII

Ký tự trên U+007F (chữ có dấu, emoji, CJK) không phải ASCII. Nếu đầu vào được mã hóa UTF-8, một ký tự có thể chiếm 2, 3 hoặc 4 byte. Ví dụ, é (e có dấu sắc) là 11000011 10101001 trong UTF-8 — một chuỗi hai byte. Bộ chuyển đổi này xem từng byte UTF-8 là một đơn vị.

Trường hợp sử dụng thường gặp

  • Giáo dục — nhập môn khoa học máy tính, cho thấy văn bản trở thành bit như thế nào.
  • Gỡ lỗi giao thức — Biết rằng GET ở đầu HTTP request là 01000111 01000101 01010100 00100000.
  • Câu đố che giấu — Văn bản nhị phân là một thể loại phổ biến trong escape-room puzzle và thử thách CTF.

Câu hỏi thường gặp

Vì ASCII chỉ lên đến 127, nên bit quan trọng nhất của mọi byte ASCII là zero. Chuỗi có byte UTF-8 không phải ASCII sẽ có số một ở đầu trên các byte tiếp diễn.

Có — dùng Binary to ASCII Converter. Nó chấp nhận mọi nhóm 8 bit có hoặc không có dấu phân tách.

Có. Mỗi newline là một byte (LF = 0x0A = 00001010) hoặc hai byte (CRLF = 0x0D 0x0A) tùy nơi bạn sao chép từ đó. Bộ chuyển đổi truyền chúng qua như ký tự thông thường.

Khoảng trắng giữa các byte là dễ đọc nhất. Không dùng dấu phân tách nếu bạn dán vào parser độ rộng cố định. Một số khóa CS yêu cầu dấu gạch nối hoặc dấu chấm — chọn đúng theo rubric.

Công cụ liên quan