Công cụ chuyển văn bản sang thập phân và thập phân sang văn bản

Chuyển mỗi byte của văn bản thành một số thập phân từ 0 đến 255, chính là các mã ASCII quen thuộc với văn bản tiếng Anh, hoặc chuyển danh sách giá trị thập phân trở lại thành văn bản.

Chạy hoàn toàn trong trình duyệt của bạn. Không có gì được tải lên.

Cách sử dụng

  1. Chọn Mã hóa để chuyển văn bản thành số thập phân, hoặc Giải mã để chuyển các số trở lại thành văn bản.
  2. Nhập hoặc dán dữ liệu đầu vào, hoặc mở một tệp. Kết quả được cập nhật ngay khi bạn gõ.
  3. Chọn dấu phân cách cho các số: Dấu cách, Dấu phẩy hoặc Xuống dòng.
  4. Sao chép các số hoặc tải xuống dưới dạng tệp.

Giá trị byte thập phân và mã ASCII

Mỗi ký tự trong máy tính được lưu dưới dạng một hoặc nhiều byte, và một byte đơn giản là một số từ 0 đến 255. Công cụ này viết từng số đó theo cách viết thập phân thông thường. Với văn bản tiếng Anh, các số này chính là những mã ASCII quen thuộc: chữ hoa từ 65 đến 90, chữ thường từ 97 đến 122, các chữ số 0 đến 9 từ 48 đến 57, còn dấu cách là 32. Các ký tự điều khiển nằm dưới 32, ví dụ 10 là xuống dòng (line feed) và 13 là về đầu dòng (carriage return).

Kết quả giống hệt danh sách bạn nhận được từ ord() trong Python hoặc khi đọc một Uint8Array trong JavaScript, và đây là cách tiện lợi để phát hiện ký tự ẩn, ký tự kết thúc dòng hoặc dấu thứ tự byte (BOM) trong một chuỗi.

Mỗi byte một số, không phải một số lớn

Việc chuyển đổi diễn ra theo từng byte: một từ có hai chữ cái thành hai số, không phải một số nguyên duy nhất. Giá trị trên 127 không bao giờ xuất hiện trong văn bản ASCII. Trong UTF-8, chúng đi thành chuỗi từ hai đến bốn byte cùng tạo nên một ký tự, vì thế một chữ có dấu hay một chữ Hán tạo ra nhiều số. Để mỗi ký tự trong văn bản Tây Âu chỉ có một giá trị, hãy chọn ISO-8859-1, trong đó mỗi giá trị byte bằng đúng điểm mã Unicode của ký tự, hoặc Windows-1252.

Nếu muốn chuyển một số duy nhất giữa các cơ số, ví dụ 255 sang thập lục phân, hãy dùng công cụ chuyển đổi cơ số. Để xem cùng các byte đó ở cách viết khác, hãy thử hex hoặc nhị phân.

Giá trị byte thập phân trong mã nguồn

# Python
list('Hi'.encode())                  # [72, 105]
bytes([72, 105]).decode()            # 'Hi'

// JavaScript
[...new TextEncoder().encode('Hi')]                   // [72, 105]
new TextDecoder().decode(new Uint8Array([72, 105]))   // 'Hi'

Đặc tả

Bảng ký tự0-9
Kích thước đầu ra1 đến 3 chữ số cho mỗi byte, cộng thêm dấu phân cách
Phần đệmKhông có
Tiêu chuẩnGiá trị byte dạng thập phân
Phân biệt hoa thườngKhông

Ví dụ

Đầu vào (UTF-8)Đầu ra
Hello, World!72 101 108 108 111 44 32 87 111 114 108 100 33
Base64.is66 97 115 101 54 52 46 105 115
你好228 189 160 229 165 189

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

Mã ASCII thập phân của chữ A là bao nhiêu?

Chữ A hoa là 65 và chữ a thường là 97, trong cả ASCII lẫn UTF-8. Mỗi chữ cái tiếp theo tăng thêm một, nên Z là 90 và z là 122.

Có thể giải mã số thập phân không có dấu phân cách không?

Không. Một dãy chữ số như 72105 có thể được tách theo nhiều cách, nên bộ giải mã cần các số được phân tách bằng dấu cách, dấu phẩy, dấu chấm phẩy hoặc xuống dòng. Số 0 ở đầu được chấp nhận.

Vì sao số lớn hơn 255 bị báo lỗi?

Một byte chứa giá trị từ 0 đến 255. Các số lớn hơn, như điểm mã Unicode 8364 của ký hiệu euro, không phải giá trị byte. Hãy nhập chính ký tự đó và mã hóa nó để xem các byte của nó, ví dụ trong UTF-8.

Vì sao một ký tự lại thành nhiều số?

UTF-8 lưu các ký tự ngoài ASCII thành hai, ba hoặc bốn byte, và mỗi byte trở thành một số riêng. Hãy chọn một bộ ký tự một byte như Windows-1252 nếu bạn cần mỗi ký tự Tây Âu ứng với một số.