Văn bản sang hex
Đọc một bản kết xuất bộ nhớ, kiểm tra xem một giao thức thực sự đã đẩy gì lên đường truyền, gỡ một câu đố CTF: sớm muộn gì bạn cũng cần tới các byte nằm sau một chuỗi. Dán văn bản vào và công cụ này trả lại từng byte một dưới dạng hex, hoặc có dấu cách như một bản hexdump (48 65 6c 6c 6f), hoặc liền một mạch (48656c6c6f). Đổi chế độ thì chiều ngược lại: hex bạn dán vào sẽ trở về thành văn bản đọc được.
Công cụ hoạt động ra sao
-
1
Chọn chiều chuyển đổi
Văn bản sang hex mã hóa những gì bạn gõ. Hex sang văn bản đưa nó trở lại thành ký tự.
-
2
Chọn dấu phân cách
Khi mã hóa, một dấu cách giữa các byte hoặc không có gì cả. Chỉ có hai lựa chọn này.
-
3
Dán dữ liệu vào
Văn bản được đọc theo UTF-8. Hex có thể kèm tiền tố 0x hoặc \x, dấu phẩy, dấu cách hay ký tự xuống dòng: chúng được gỡ bỏ giúp bạn.
-
4
Chuyển đổi và sao chép
Kết quả hiện ngay bên dưới cùng nút sao chép. Không có tệp nào được tải về.
Vì sao dùng hex chứ không dùng hệ thập phân
Một chữ số hex phủ đúng 4 bit, nên hai chữ số phủ đúng một byte, lần nào cũng vậy. Hệ thập phân buộc bạn phải tính nhẩm để biết một giá trị còn vừa hay không (128 có nằm trong khoảng không? còn 256 thì sao?), trong khi hex bày ra ngay: 00 là byte nhỏ nhất, ff là lớn nhất, và mọi byte ở giữa đều rộng đúng hai ký tự. Chính sự thẳng hàng đó khiến hex trở thành cách ghi của các bản kết xuất bộ nhớ, các gói tin bắt được, chữ ký tệp và mã màu.
Công cụ này thực sự cho ra cái gì
- Luôn viết thường. Bộ mã hóa viết
6c, không bao giờ viết6C. Hex không phân biệt chữ hoa chữ thường nên không mất mát gì, nhưng nếu định dạng đích của bạn đòi chữ hoa, hãy đưa kết quả qua một công cụ đổi kiểu chữ. - Luôn hai chữ số cho mỗi byte. Ký tự tab là
09chứ không phải9, để ranh giới giữa các byte vẫn đếm được. - Dấu cách hoặc không gì cả. Chỉ có hai dấu phân cách đó. Ở chiều mã hóa không có tiền tố
0xhay\x, nên hãy tự thêm trong trình soạn thảo nếu bạn cần chuỗi thoát của C hay Python. - UTF-8 từ đầu đến cuối. Văn bản được đo bằng byte, không phải bằng ký tự.
Hex và Unicode
H chiếm một byte trong UTF-8 nên thành 48. Mọi thứ ngoài ASCII thuần đều chiếm nhiều hơn:
| Ký tự | Hex UTF-8 | Byte |
|---|---|---|
| A | 41 | 1 |
| é | c3 a9 | 2 |
| € | e2 82 ac | 3 |
| 🚀 | f0 9f 9a 80 | 4 |
Vì thế Hello mã hóa thành 48 65 6c 6c 6f, năm ký tự và năm byte, còn café mã hóa thành 63 61 66 c3 a9: bốn ký tự nhưng năm byte, vì é cần tới hai. Tiếng Việt còn tốn hơn nữa: chữ ế chiếm tới ba byte (e1 ba bf), nên một câu tiếng Việt có dấu thường dài gấp đôi số byte so với số chữ cái. Nếu một chuỗi ngắn cho ra nhiều cặp hex hơn bạn tưởng, đó thường là lý do.
Bộ giải mã chấp nhận những gì
Dán bất kỳ dạng nào dưới đây, bạn đều nhận lại Hello:
48 65 6c 6c 6f, kiểu hexdump48656c6c6f, thô và không có dấu phân cách0x48656c6c6f, kiểu hằng số nguyên\x48\x65\x6c\x6c\x6f, chuỗi thoát của C và Python48,65,6C,6C,6F, ngăn bằng dấu phẩy và trộn lẫn chữ hoa chữ thường tùy ý
Tiền tố, dấu phẩy, dấu cách, tab và ký tự xuống dòng đều được gỡ bỏ trước khi giải mã. Những thứ khác thì không: một dấu gạch nối trong 48-65, một dấu # đứng trước mã màu, hay một chữ cái vượt quá f sẽ làm việc giải mã dừng lại, và số chữ số lẻ cũng vậy, vì nửa byte không thể thành một ký tự. Trong những trường hợp đó công cụ thà không trả về gì còn hơn đoán bừa một kết quả dở dang. Nếu ô kết quả cứ trống, đó chính là chỗ cần soi lại.
Mã màu hex dùng cùng cách ghi nhưng không cùng nội dung
#ff8800 dùng đúng hệ cơ số 16 ấy, nhưng ba byte đó mô tả các kênh đỏ, lục và lam chứ không phải ký tự. Bỏ dấu # rồi giải mã ở đây, bạn sẽ nhận được ba byte thô không tạo thành văn bản đọc được. Với việc đó, hãy dùng một công cụ chọn màu.
Câu hỏi thường gặp
Đúng vậy. Hệ thập lục phân và base16 là hai tên gọi của cùng một hệ: mười sáu chữ số (từ 0 đến 9 và từ a đến f), mỗi chữ số mang 4 bit.
Không lấy được từ công cụ này. Bộ mã hóa luôn viết thường. Vì hex không phân biệt chữ hoa chữ thường nên 4f và 4F là cùng một byte; hãy đưa kết quả qua bất kỳ công cụ đổi kiểu chữ nào nếu định dạng của bạn yêu cầu. Bộ giải mã thì đọc được cả hai dạng.
Bộ giải mã chỉ nhận các chữ số từ 0 đến 9 và từ a đến f với số lượng chẵn, sau khi đã gỡ tiền tố 0x và \x, dấu phẩy và khoảng trắng. Một dấu gạch nối, một dấu #, một chữ cái vượt quá f hay thiếu một chữ số đều làm dữ liệu vào không hợp lệ, và công cụ thà cho kết quả trống còn hơn cho kết quả sai. Hãy đếm lại số chữ số và tìm những dấu câu lọt vào.
Phần lớn biểu tượng cảm xúc nằm ở các mặt phẳng bổ sung của Unicode, được UTF-8 lưu bằng bốn byte. Ký tự ASCII thuần vẫn giữ một byte mỗi ký tự, đó là lý do văn bản tiếng Anh cho ra một cặp mỗi ký tự còn tiếng Việt có dấu thì không.
Không. Đây là một ô nhập văn bản nên nó xử lý những gì bạn gõ hoặc dán được. Với dữ liệu nhị phân, base64 vừa gọn hơn vừa dễ truyền đi hơn.
Có. Việc chuyển đổi chạy trên máy chủ của chúng tôi, nên nội dung bạn dán vào sẽ đi kèm yêu cầu và kết quả được gửi trả về. Chúng tôi chỉ ghi lại thao tác và các tùy chọn bạn đã chọn, không bao giờ ghi nội dung văn bản, và văn bản không được lưu lại sau khi phản hồi được trả về. Với tài liệu thực sự nhạy cảm, hãy dùng công cụ chạy ngoại tuyến trên máy của chính bạn.
Công cụ liên quan
Trình tạo font Instagram
Tạo "font" Unicode (đậm, nghiêng, viết tay, đẳng khoảng, fraktur) để dán thẳng vào bio, tên, caption và bình luận Instagram của bạn.
Trình tạo tên thành phố
Tạo tên thành phố, thị trấn, làng và thủ đô hư cấu cho xây dựng thế giới, bản đồ, game, truyện và dữ liệu giả lập, kèm ghi chú ngắn cho từng kết quả.
Trình tìm cờ emoji
Tìm emoji cờ của 195 quốc gia theo tên địa phương, tên tiếng Anh hoặc mã hai chữ cái. Kiểm tra chuỗi Unicode và sao chép ngay trong trình duyệt.
Bộ tạo phông chữ Discord
Chuyển văn bản bình thường thành các kiểu chữ Unicode phù hợp với tên dùng trong Discord, tên máy chủ và tin nhắn, bao gồm các dạng đậm, nghiêng, fraktur, monospace và dạng trang trí.
Trình dịch chữ nổi Braille
Dịch văn bản sang chữ nổi Braille Unicode cấp 1 và giải mã Braille trở lại thành chữ cái. Xử lý chữ hoa, chữ số và dấu câu.
Trình tạo văn bản Gothic
Chuyển văn bản thường thành các ký tự Unicode kiểu blackletter (Fraktur): 𝔄 𝔅 ℭ 𝔇. Sao chép và dán vào phần tiểu sử, biểu ngữ hoặc đồ họa của ban nhạc metal.
Công cụ này có phiên bản bằng các ngôn ngữ khác
- テキストを 16 進数に変換 [JA]
- Texto a hexadecimal [ES]
- Text till hex [SV]
- แปลงข้อความเป็นเลขฐาน 16 [TH]
- Tekst naar hex [NL]
- Text in Hex [DE]
- Tekst na hex [PL]
- تحويل النص إلى ست عشري [AR]
- Texto para hexadecimal [PT]
- Teks ke heksadesimal [ID]
- Texte en hexadécimal [FR]
- 텍스트를 16진수로 [KO]
- Text to Hex [EN]
- Da testo a esadecimale [IT]
- Текст в шестнадцатеричный код [RU]
- Metinden onaltılığa [TR]
- 文本转十六进制 [ZH]