Bộ chuyển đổi hệ thập lục phân

5 trên 2 xếp hạng

Bộ chuyển đổi hệ thập lục phân là công cụ miễn phí giúp chuyển văn bản thành các giá trị byte hệ thập lục phân và chuyển chuỗi hệ thập lục phân hợp lệ trở lại thành văn bản.

Hệ thập lục phân là gì và hoạt động như thế nào?

Hệ thập lục phân là hệ đếm cơ số 16, sử dụng các chữ số từ 0 đến 9 và các chữ cái từ A đến F. Mỗi chữ số hệ thập lục phân biểu diễn bốn bit nhị phân, vì vậy hai chữ số hệ thập lục phân có thể biểu diễn một byte từ 00 đến FF.

So với một chuỗi nhị phân dài, hệ thập lục phân dễ đọc hơn mà vẫn giữ nguyên giá trị byte. Các chữ cái có thể viết hoa hoặc viết thường mà không làm thay đổi ý nghĩa.

Thập phân Thập lục phân Nhị phân
0 00 00000000
10 0A 00001010
32 20 00100000
65 41 01000001
255 FF 11111111

Làm thế nào để chuyển văn bản sang hệ thập lục phân và ngược lại?

Dùng Sang hex cho văn bản thông thường và Sang văn bản cho chuỗi gồm các cặp byte hệ thập lục phân. Công cụ sử dụng các hàm bin2hex và hex2bin của PHP trên máy chủ.

  1. Để chuyển đổi văn bản, nhập các ký tự vào Sang hex rồi xem giá trị được trả về trong trường Hex.
  2. Để chuyển đổi ngược lại, nhập chuỗi hệ thập lục phân hợp lệ vào Sang văn bản. Mỗi byte phải gồm hai chữ số hệ thập lục phân. Văn bản đã giải mã sẽ xuất hiện trong trường kết quả Hex.

Ví dụ đơn giản, văn bản Hi gồm các byte ASCII 48 và 69 ở dạng hệ thập lục phân, nên kết quả là 4869. Chuyển ngược 4869 sẽ cho ra Hi.

Dấu cách và dấu câu được chuyển đổi như mọi byte khác. Khi nhập số dưới dạng văn bản, công cụ coi đó là các ký tự chữ số chứ không phải giá trị thập phân cần tính lại. Ký tự có dấu và ký tự ngoài bảng chữ cái Latinh có thể chiếm nhiều byte vì dạng hệ thập lục phân của chúng phụ thuộc vào bảng mã ký tự, thường là UTF-8 đối với văn bản trên web.

Hệ thập lục phân được dùng vào việc gì?

Hệ thập lục phân được dùng khi cần xem dữ liệu nhị phân ở dạng gọn và căn theo byte. Một số ứng dụng phổ biến gồm:

  • Lập trình, gồm mảng byte, địa chỉ bộ nhớ, kết quả gỡ lỗi và ký hiệu điểm mã Unicode.
  • Mạng máy tính, trong đó các công cụ như Wireshark hiển thị byte của gói tin và các trường giao thức ở dạng hex.
  • Điện tử, gồm thanh ghi vi điều khiển, ảnh firmware và địa chỉ phần cứng.
  • Giáo dục, đặc biệt là các bài tập về hệ nhị phân, hệ thập phân, bảng mã ký tự và bộ nhớ máy tính.
  • Vô tuyến, khi cần kiểm tra khung giao thức, từ cấu hình và dữ liệu nhận được dưới dạng byte hệ thập lục phân.

Hệ thập lục phân cũng thường xuất hiện trong ký hiệu màu như #336699, nhưng việc chuyển văn bản sang hex không có chức năng chọn màu. Nếu cần chuyển đổi trực tiếp giữa các hệ đếm, Bộ chuyển đổi nhị phân hoặc Bộ chuyển đổi thập phân thường là lựa chọn rõ ràng hơn.

Chi tiết chuyển đổi và các lỗi thường gặp

Quá trình chuyển đổi văn bản xử lý byte, không dựa trên hình dạng hiển thị hay ý nghĩa của ký tự. Hàm bin2hex của PHP trả về hai chữ số hệ thập lục phân viết thường cho mỗi byte đầu vào. Vì vậy, một chuỗi byte rỗng cũng có dạng hệ thập lục phân rỗng.

Để chuyển đổi ngược, dữ liệu phải gồm các chữ số hệ thập lục phân hợp lệ và được chia thành từng cặp hoàn chỉnh. Chuỗi có độ dài lẻ sẽ thừa nửa byte, còn dấu cách, dấu câu và tiền tố như 0x không thuộc chuỗi byte thô. Hãy loại bỏ các thành phần định dạng này trước khi chuyển đổi.

Một lỗi phổ biến khi chuyển đổi thủ công là bỏ mất số 0 ở đầu. Số thập phân 10 được biểu diễn bằng một byte là 0A, không phải chỉ là A, khi nằm trong chuỗi byte. Mất số 0 này sẽ làm lệch cách ghép cặp của toàn bộ phần còn lại và có thể khiến cả giá trị trở nên không hợp lệ.

Kết quả hệ thập lục phân quá dài cũng có thể khó kiểm tra trong trình duyệt. Công cụ chuyển đổi byte hệ thập lục phân này không nhận diện định dạng tệp, sửa byte bị hỏng hay xác định bảng mã ký tự của một chuỗi không rõ nguồn gốc.

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

Hệ thập lục phân có phải là một dạng mã hóa bảo mật không?

Không. Hệ thập lục phân chỉ là cách biểu diễn dữ liệu có thể đảo ngược và không có tác dụng giữ bí mật. Bất kỳ ai có giá trị hex đều có thể chuyển nó trở lại các byte ban đầu, vì vậy không nên dùng cách này để che giấu mật khẩu, token hoặc thông tin cá nhân.

Hex viết hoa và viết thường có khác nhau không?

Không. Các giá trị như 4A và 4a biểu diễn cùng một byte. Quy tắc định dạng của hệ thống sử dụng giá trị đó có thể phân biệt chữ hoa và chữ thường, nhưng bản thân giá trị hệ thập lục phân không thay đổi.

Có thể chèn dấu cách giữa các byte hệ thập lục phân không?

Các bản kết xuất hex dành cho người đọc thường có dấu cách, số dòng hoặc cột ASCII, nhưng đó chỉ là những thành phần hỗ trợ trình bày chứ không phải dữ liệu hệ thập lục phân. Hàm hex2bin của PHP yêu cầu một chuỗi liên tục gồm các cặp byte, vì vậy hãy xóa dấu phân cách và nhãn trước.

Chuyển tệp nhị phân sang hex có tạo ra văn bản đọc được không?

Thông thường là không. Hình ảnh, tệp lưu trữ nén và tệp thực thi chứa các giá trị byte tùy ý, không nhất thiết tương ứng với ký tự có thể in được. Trình chỉnh sửa hex hoặc công cụ phân tích định dạng tệp phù hợp hơn khi cần giữ nguyên cấu trúc và độ lệch byte.

Quá trình chuyển đổi có diễn ra trong trình duyệt không?

Không. Dữ liệu đầu vào được gửi đến máy chủ qua HTTPS để thực hiện chuyển đổi và không được lưu trữ. Không nên gửi dữ liệu bí mật dưới dạng văn bản hoặc chuỗi hệ thập lục phân nếu dữ liệu đó không phù hợp để xử lý trên máy chủ.

Các công cụ tương tự

Bộ chuyển đổi nhị phân

Chuyển đổi văn bản sang nhị phân và ngược lại cho bất kỳ đầu vào chuỗi nào.

4,763
28
Trình chuyển đổi ASCII

Chuyển đổi văn bản sang ASCII và ngược lại cho mọi chuỗi đầu vào.

4,869
48
Bộ chuyển đổi thập phân

Chuyển đổi văn bản sang thập phân và ngược lại cho bất kỳ đầu vào chuỗi nào.

4,827
42

Công cụ phổ biến