CoderTools

Công cụ chuyển đổi mã hóa văn bản

Chuyển đổi văn bản giữa Hex, Binary, Unicode và các định dạng mã hóa khác

Ký tự phân cách byte:
Thêm tiền tố:

Tài liệu công cụ chuyển đổi mã hóa

Mã hóa ký tự là gì?

Mã hóa ký tự là một hệ thống ánh xạ các ký tự thành số mà máy tính có thể xử lý. Các sơ đồ mã hóa khác nhau được sử dụng cho các mục đích khác nhau như lưu trữ, truyền tải hoặc hiển thị dữ liệu văn bản. Các mã hóa phổ biến bao gồm ASCII, UTF-8, UTF-16, v.v.

Định dạng được hỗ trợ

Thập lục phân (Hex)

Biểu diễn thập lục phân sử dụng các chữ số 0-9 và chữ cái A-F. Mỗi byte được biểu diễn bằng hai ký tự hex. Được sử dụng rộng rãi trong lập trình và gỡ lỗi.

Nhị phân

Biểu diễn nhị phân chỉ sử dụng 0 và 1. Mỗi byte được biểu diễn bằng 8 bit. Đây là biểu diễn dữ liệu cơ bản được sử dụng bởi máy tính.

Unicode Escape

Chuỗi escape Unicode ở định dạng \uXXXX, thường được sử dụng trong các ngôn ngữ lập trình như JavaScript và JSON để biểu diễn các ký tự Unicode.

Thực thể HTML

Mã hóa thực thể HTML, bao gồm các thực thể có tên (như &) và thực thể số (như & hoặc &). Được sử dụng để hiển thị an toàn các ký tự đặc biệt trong HTML.

Punycode

Sơ đồ mã hóa cho Tên miền quốc tế hóa (IDN). Chuyển đổi các ký tự Unicode sang mã hóa tương thích ASCII, có tiền tố xn--.

Trường hợp sử dụng phổ biến

  • Xem biểu diễn thập lục phân hoặc nhị phân của các ký tự trong quá trình gỡ lỗi
  • Xử lý mã hóa dữ liệu trong các giao thức mạng
  • Phân tích và sửa các vấn đề về mã hóa (mojibake)
  • Sử dụng chuỗi escape Unicode trong mã
  • Xử lý Tên miền quốc tế hóa (IDN)
  • Escape ký tự trong HTML/XML

Bộ ký tự vs Định dạng mã hóa

Bộ ký tự và định dạng mã hóa là hai khái niệm khác nhau. Bộ ký tự định nghĩa những ký tự nào được sử dụng trong văn bản (như ASCII, GB2312, GBK, Unicode, v.v.), trong khi định dạng mã hóa định nghĩa cách lưu trữ các ký tự này trên máy tính (như UTF-8, UTF-16, v.v.). Ví dụ, cùng một văn bản có thể được mã hóa bằng bộ ký tự GB2312 dưới dạng mã hóa GB2312, hoặc bằng bộ ký tự Unicode dưới dạng UTF-8.

Nếu bạn cần chuyển đổi giữa các bộ ký tự khác nhau (như GBK, UTF-8, ISO-8859-1, v.v.) thay vì chỉ thay đổi định dạng mã hóa, vui lòng sử dụng công cụ Chuyển đổi bộ ký tự.

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

Sự khác biệt giữa mã hóa (encoding) và mã hóa bảo mật (encryption) là gì?

Mã hóa (encoding) chuyển đổi dữ liệu sang dạng biểu diễn khác bằng một sơ đồ công khai — không có khóa bí mật, và bất kỳ ai cũng có thể đảo ngược. Mã hóa bảo mật (encryption) xáo trộn dữ liệu bằng khóa bí mật, chỉ người có khóa mới có thể phục hồi. Base64 và hex là encoding; AES và RSA là các thuật toán encryption.

Tại sao văn bản được mã hóa Base64 kết thúc bằng = hoặc ==?

Base64 mã hóa mỗi 3 byte đầu vào thành 4 ký tự đầu ra. Khi độ dài đầu vào không chia hết cho 3, một hoặc hai ký tự = được thêm vào làm phần đệm để đầu ra là bội số của 4. Một = có nghĩa là thêm 1 byte đệm; hai == là thêm 2 byte. Một số triển khai bỏ qua phần đệm — cả hai dạng đều hợp lệ nếu bộ giải mã xử lý được.

Sự khác biệt giữa ASCII và Unicode là gì?

ASCII là mã hóa 7-bit bao gồm 128 ký tự (A-Z, 0-9, dấu câu phổ biến). Unicode là tiêu chuẩn bộ ký tự bao gồm hơn 140.000 ký tự trong tất cả các hệ thống chữ viết. UTF-8, UTF-16 và UTF-32 là các cách khác nhau để mã hóa các điểm mã Unicode thành byte — UTF-8 tương thích ngược với ASCII cho 128 điểm mã đầu tiên.

Khi nào nên dùng mã hóa hex thay vì Base64?

Hex (Base16) biểu diễn mỗi byte bằng hai ký tự thập lục phân, dài dòng hơn nhưng dễ đọc trực tiếp khi kiểm tra kỹ thuật — tiện lợi khi gỡ lỗi luồng byte, khóa mật mã và giá trị giao thức nhị phân. Base64 nhỏ gọn hơn khoảng 33% và được ưu tiên khi truyền dữ liệu nhị phân trong JSON, email hoặc URL.

Ký hiệu U+XXXX cho điểm mã Unicode có nghĩa là gì?

U+XXXX là ký hiệu chuẩn cho điểm mã Unicode, trong đó XXXX là số thập lục phân. Ví dụ: U+0041 là chữ cái Latin hoa A, và U+4E2D là ký tự Hán 中. Các điểm mã trải dài từ U+0000 đến U+10FFFF. Tiền tố U+ được Unicode Consortium giới thiệu để phân biệt điểm mã với giá trị byte.

Công Cụ Liên Quan

Menu Nhanh

Chưa có công cụ gần đây