Bộ chuyển đổi Văn bản ↔ Hex
Chuyển đổi văn bản sang thập lục phân và hex ngược lại thành văn bản ngay trong trình duyệt của bạn. Hỗ trợ đầy đủ UTF-8 có nghĩa là mọi ký tự đều được mã hóa chính xác — chọn chữ thường hoặc chữ hoa, và các byte phân tách bằng dấu cách hoặc liền mạch.
Kiểu chữ
Dấu phân tách
Nhập dữ liệu ở trên để xem kết quả chuyển đổi tại đây.
Cách sử dụng Bộ chuyển đổi Văn bản ↔ Hex
- 1
Chọn một hướng
Dùng nút gạt để chọn Văn bản sang Hex hoặc Hex sang Văn bản. Nút hoán đổi sẽ đưa kết quả của bạn vào ô đầu vào để bạn có thể chuyển nó ngược lại theo chiều kia.
- 2
Nhập dữ liệu của bạn
Gõ hoặc dán văn bản, hoặc dán một chuỗi hex. Việc chuyển đổi chạy tự động khi bạn gõ, với hỗ trợ đầy đủ UTF-8 cho mọi ký tự.
- 3
Chọn định dạng
Với đầu ra hex, chọn chữ số viết thường hoặc viết hoa và một dấu cách giữa mỗi byte hoặc một luồng liền mạch. Khi giải mã, dấu cách, dấu phẩy và dấu hai chấm đều là tùy chọn.
- 4
Sao chép kết quả
Xem lại kết quả đã chuyển đổi và sao chép nó vào khay nhớ tạm, sẵn sàng để dán vào bất cứ nơi nào bạn cần.
Văn bản sang thập lục phân: Hướng dẫn đầy đủ
Thập lục phân là gì
Thập lục phân, thường được gọi tắt là hex, là hệ đếm cơ số 16. Trong khi hệ thập phân dùng mười ký hiệu chữ số và nhị phân dùng hai, hex dùng mười sáu: các chữ số 0 đến 9 cho các giá trị từ không đến chín, rồi các chữ cái A đến F cho các giá trị từ mười đến mười lăm. Vậy A là 10, B là 11, C là 12, D là 13, E là 14, và F là 15. Kiểu chữ hoa hay thường không làm thay đổi giá trị, nên 0xff và 0xFF là cùng một con số.
Hex là cách viết tắt của lập trình viên cho nhị phân. Mỗi chữ số hex ứng chính xác với bốn bit, vì bốn bit chứa được mười sáu giá trị khả dĩ, nên hai chữ số hex mô tả trọn vẹn một byte tám bit. Sự khớp khít đó là lý do byte gần như luôn được viết ở dạng hex thay vì những chuỗi dài số một và số không — nó gọn gàng hơn nhiều và dễ đọc hơn nhiều.
Hai chữ số hex cho mỗi byte
Một byte là tám bit và có thể chứa bất kỳ giá trị nào từ 0 đến 255. Trong hex, phạm vi đó được viết bằng đúng hai chữ số, từ 00 đến FF, trong đó FF bằng 255. Chữ số bên trái biểu diễn bốn bit cao, có trọng số mười sáu, còn chữ số bên phải biểu diễn bốn bit thấp, có trọng số một. Để tìm giá trị của một byte, bạn tính chữ số bên trái nhân 16 cộng với chữ số bên phải.
Công cụ này luôn viết mỗi byte thành một cặp hex hai chữ số, thêm một số 0 vào đầu khi cần, nên byte có giá trị 5 xuất hiện dưới dạng 05 chứ không chỉ là 5. Giữ độ rộng cố định hai chữ số có nghĩa là các byte thẳng hàng và một bản dump hex có thể được đọc rõ ràng không nhập nhằng. Bạn có thể hiển thị các chữ số ở dạng chữ thường hoặc chữ hoa và phân tách các byte bằng dấu cách hoặc ghép liền chúng lại.
Từ ký tự đến hex, từng bước một
Chuyển một ký tự sang hex gồm hai bước: lấy giá trị byte của nó, rồi viết giá trị đó ở cơ số 16. Với các ký tự ASCII, giá trị byte chính là điểm mã quen thuộc. A hoa là 65 ở hệ thập phân. Để chuyển 65 sang hex, hãy chia cho 16: 65 bằng 4 lần 16 (tức 64) dư 1, nên chữ số cao là 4 và chữ số thấp là 1, cho ra 0x41.
Đó là lý do A = 0x41 là một trong những giá trị được nhận ra nhiều nhất trong tin học. Cũng phương pháp đó cho ra a thường, mã 97, là 0x61 (6 lần 16 là 96, dư 1), và ký tự dấu cách, mã 32, là 0x20 (2 lần 16 là 32, dư 0). Đi ngược lại, hãy nhân chữ số hex thứ nhất với 16 rồi cộng chữ số thứ hai để khôi phục mã thập phân, sau đó tra ra ký tự.
Ví dụ minh họa: mã hóa "Hex"
Đưa ba chữ cái H, e, x qua quá trình chuyển đổi. H là mã 72; chia cho 16 được 4 dư 8, nên nó là 0x48. Chữ e là mã 101; đó là 6 lần 16 (96) dư 5, nên là 0x65. Chữ x là mã 120; đó là 7 lần 16 (112) dư 8, nên là 0x78.
Viết dưới dạng một bản dump chữ hoa phân tách bằng dấu cách, từ "Hex" trở thành 48 65 78. Ở dạng chữ thường không có dấu phân tách thì là 486578. Giải mã đảo ngược phép tính: 48 là 4 lần 16 cộng 8, tức 72, tức H; 65 là 101, tức e; 78 là 120, tức x — khôi phục lại từ gốc.
ASCII so với UTF-8 và các ký tự nhiều byte
Quy tắc một-ký-tự-hai-chữ-số chỉ áp dụng gọn ghẽ với bộ ASCII gốc, các điểm mã từ 0 đến 127. Với mọi thứ vượt ra ngoài đó — chữ cái có dấu, các hệ chữ viết không thuộc Latinh, ký hiệu và emoji — công cụ này dùng UTF-8, vốn có độ rộng thay đổi. Một ký tự ASCII là một byte, do đó là một cặp hex, nhưng các ký tự khác chiếm hai, ba hoặc bốn byte, do đó là hai, ba hoặc bốn cặp hex.
Chẳng hạn, chữ é có dấu là hai byte UTF-8 0xC3 và 0xA9, nên nó chuyển thành hex C3 A9 chứ không phải một cặp duy nhất. Một emoji thông dụng là bốn byte và trở thành bốn cặp hex. Đây là lý do văn bản không phải tiếng Anh tạo ra nhiều hex hơn so với số ký tự nhìn thấy của nó, và điều này đáng nhớ khi bạn đang đếm byte chứ không phải chữ cái.
Giải mã linh hoạt
Chiều Hex sang Văn bản đọc đầu vào theo từng hai chữ số một và cố tình dễ tính về định dạng. Dấu cách, dấu phẩy và dấu hai chấm giữa các byte đều bị bỏ qua, nên một chuỗi thuần như 486578, một bản dump có dấu cách như 48 65 78, và một bản dump phân tách bằng dấu hai chấm như 48:65:78 đều giải mã thành cùng một từ. Cả chữ số viết thường lẫn viết hoa đều được chấp nhận theo bất kỳ cách trộn lẫn nào.
Hai quy tắc vẫn phải được giữ: đầu vào chỉ được chứa các ký tự hex hợp lệ (0-9 và A-F, cộng với các dấu phân tách bị bỏ qua), và số chữ số hex phải là số chẵn, vì mỗi byte cần đúng hai chữ số. Một lỗi chuyển đổi gần như luôn có nghĩa là một ký tự không phải hex đã lọt vào hoặc số đếm chữ số ra số lẻ — có lẽ một byte bị thiếu một chữ số. Sửa điều đó thì việc giải mã sẽ hoàn tất.
Hex được dùng ở đâu
Thập lục phân hiện diện khắp nơi trong lập trình và gỡ lỗi. Địa chỉ bộ nhớ, độ lệch byte và các bản dump dữ liệu thô đều được hiển thị ở dạng hex vì hai chữ số ánh xạ sang một byte một cách gọn gàng. Khi bạn xem xét một tệp hoặc một gói tin mạng trong một trình soạn thảo hex, bạn đang đọc đúng loại kết quả mà công cụ này tạo ra. Hex cũng mã hóa các định danh nhị phân một cách cô đọng, chẳng hạn như hash và UUID.
Bạn có lẽ cũng đã từng thấy hex ngoài các bản dump byte. CSS và các công cụ thiết kế viết màu sắc dưới dạng bộ ba hex như #FF8800, trong đó mỗi cặp là cường độ đỏ, lục và lam từ 00 đến FF. Cú pháp escape ký tự trong nhiều ngôn ngữ dùng hex, như \x41 nghĩa là chữ cái A. Chuyển văn bản sang hex là một cách nhanh chóng để xem xét các giá trị byte chính xác đằng sau một chuỗi, kiểm chứng một bảng mã, hoặc chuẩn bị dữ liệu cho một ngữ cảnh cần thập lục phân.
Câu hỏi thường gặp
Văn bản được chuyển đổi sang thập lục phân như thế nào?
Công cụ có hỗ trợ emoji và văn bản không phải tiếng Anh không?
Bộ giải mã chấp nhận những định dạng hex nào?
Tại sao tôi gặp lỗi chuyển đổi?
Dữ liệu của tôi có được tải lên máy chủ không?
Công cụ liên quan
Tiếp tục với những công cụ hữu ích này