Bộ chuyển đổi ASCII sang văn bản

Với một chuỗi như 72 101 108 108 111, bộ chuyển đổi này đọc từng số như một mã ASCII và trả về văn bản mà nó đánh vần — trong trường hợp đó là Hello. Nó tự phát hiện cơ số (thập phân, thập lục phân hoặc nhị phân) từ đầu vào, chấp nhận mọi dấu phân tách phổ biến, và loại bỏ tiền tố 0x, \x hoặc # để bạn có thể dán mã trực tiếp từ tệp nguồn C, bản kết xuất thập lục phân hoặc bài thử thách CTF mà không cần dọn trước.

Cách bộ chuyển đổi đọc đầu vào của bạn

  1. 1

    Dán các mã ASCII

    Phân tách bằng khoảng trắng, dấu phẩy, dấu chấm phẩy, xuống dòng — hoặc không gì cả, nếu mỗi mã có độ rộng cố định.

  2. 2

    Chọn hoặc tự phát hiện cơ số

    Thập phân cho số 0-127, thập lục phân cho cặp hai chữ số, nhị phân cho nhóm 8 bit.

  3. 3

    Mỗi mã trở thành một ký tự

    Mã 65 là `A`, 0x61 là `a`, 00100000 là dấu cách.

  4. 4

    Đọc văn bản đã giải mã

    Mã không in được (NUL, BEL, DEL) được hiển thị bằng mnemonic trong ngoặc vuông.

Định dạng đầu vào bộ chuyển đổi hiểu được

Ví dụ đầu vào Cơ số
72 101 108 108 111 thập phân
72,101,108,108,111 thập phân
48 65 6C 6C 6F thập lục phân
0x48 0x65 0x6C 0x6C 0x6F thập lục phân
\x48\x65\x6C\x6C\x6F thập lục phân (escape kiểu C)
48656C6C6F thập lục phân (không dấu phân tách)
01001000 01100101 01101100 01101100 01101111 nhị phân

Xử lý mã điều khiển

ASCII 0-31 và 127 là ký tự không in. Tùy mục đích dùng, bộ chuyển đổi có thể xuất chúng thành byte thô (hữu ích để dựng chuỗi giao thức) hoặc thay bằng mnemonic trong dấu ngoặc nhọn: <LF>, <CR>, <TAB>, <NUL>, <DEL>.

Vượt ngoài ASCII

Nếu mã của bạn lớn hơn 127, nói nghiêm ngặt thì chúng không phải ASCII. Hai trường hợp thường gặp:

  • Latin-1 / Windows-1252 — Một byte cho mỗi ký tự, giá trị 128-255 bao phủ chữ có dấu.
  • UTF-8 — Nhiều byte, với byte tiếp diễn bắt đầu 10xxxxxx. Một chuỗi mã như C3 A9 giải mã thành \u00e9.

Bộ chuyển đổi mặc định xem đầu vào trên 127 là byte UTF-8, bao phủ phần lớn văn bản hiện đại.

Đảo chiều

Để chuyển văn bản thành mã, dùng các công cụ đi kèm: Văn bản sang ASCII, Văn bản sang nhị phân, Văn bản sang thập lục phân.

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

Có nếu mọi mã có độ rộng cố định: 8 bit cho nhị phân, 2 chữ số cho thập lục phân. Với thập phân bạn cần dấu phân tách vì mã thập phân dài 1-3 chữ số và không thể tách đáng tin nếu không có dấu.

Một số mã trong đầu vào của bạn lớn hơn 127 và có thể là chuỗi byte UTF-8 không hợp lệ. Thử giải mã dưới dạng Latin-1 nếu nguồn là tệp văn bản cũ hoặc dump từ hệ Windows.

Có. Escape kiểu C (\x48), literal C (0x48), URL percent-encoding (%48) và tiền tố assembly ($48) đều được loại bỏ trước khi parse.

Mã trên 127 là byte hợp lệ nhưng không phải ASCII. Mã trên 255 không vừa trong một byte — bộ chuyển đổi đánh dấu và bỏ qua chúng thay vì đoán.

Công cụ liên quan