Bộ chuyển đổi Văn bản ↔ Nhị phân
Chuyển đổi văn bản sang nhị phân và nhị phân 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à chữ cái, chữ số, ký hiệu và cả emoji đều được chuyển đổi chính xác — chọn đầu ra 8-bit phân tách bằng dấu cách hoặc liền mạ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 ↔ Nhị phân
- 1
Chọn một hướng
Dùng nút gạt để chọn Văn bản sang Nhị phân hoặc Nhị phân 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 nhị phân. 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 dấu phân tách
Với đầu ra nhị phân, chọn dấu cách giữa mỗi byte để dễ đọc hoặc không dùng dấu phân tách để có một luồng liền mạch. Khi giải mã, dấu cách 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 trở thành nhị phân như thế nào
Nhị phân là gì và vì sao máy tính dùng nó
Nhị phân là hệ đếm cơ số 2, được dựng nên chỉ từ hai chữ số: 0 và 1. Mỗi chữ số được gọi là một bit, viết tắt của binary digit (chữ số nhị phân). Máy tính dùng nhị phân vì các linh kiện vật lý của chúng là những công tắc với hai trạng thái ổn định — bật hoặc tắt, điện áp cao hoặc thấp — và hai trạng thái đó ánh xạ một cách tự nhiên sang 1 và 0. Mọi thứ máy tính lưu trữ, kể cả chính câu này, rốt cuộc đều là một chuỗi dài các bit.
Văn bản cũng không ngoại lệ. Để lưu một chữ cái, trước tiên máy tính thống nhất một con số cho nó thông qua một bảng mã ký tự, rồi lưu con số đó ở dạng nhị phân. Chuyển văn bản sang nhị phân bằng tay đơn giản là thực hiện hai bước đó một cách tường minh: tra mã số của mỗi ký tự, rồi viết mã đó ở cơ số 2. Công cụ này hiển thị kết quả thành các nhóm bit để bạn có thể đọc được cấu trúc.
Byte và nhóm 8 bit
Một byte là một nhóm tám bit, và nó là đơn vị lưu trữ cơ bản. Tám bit có thể biểu diễn hai mũ tám, tức 256, giá trị khác nhau, đánh số từ 0 đến 255. Phạm vi đó vừa đủ để bao trọn các ký tự ASCII gốc cùng rất nhiều thứ khác nữa, và đó là lý do byte trở thành kích thước tiêu chuẩn cho một ký tự văn bản cơ bản.
Vì một byte luôn là tám bit, bộ chuyển đổi này viết mỗi byte thành một nhóm tám chữ số cố định, thêm các số 0 vào đầu khi cần. Chữ cái có mã 72 được viết là 01001000, chứ không chỉ là 1001000, để mọi byte thẳng hàng cùng một độ rộng. Bạn có thể chọn phân tách các nhóm bằng dấu cách cho dễ đọc hoặc ghép chúng lại thành một luồng liền mạch; dù cách nào thì các bit vẫn giống hệt nhau.
Từ ký tự đến bit, từng bước một
Chuyển một ký tự cần hai động tác. Thứ nhất, tìm điểm mã của nó — với các chữ cái tiếng Anh thông thường thì đây là giá trị ASCII, nên H hoa là 72 và i thường là 105. Thứ hai, biểu diễn con số đó bằng tám bit bằng cách xét xem những lũy thừa nào của hai cộng lại thành nó. Các vị trí bit, từ trái sang phải, mang các giá trị 128, 64, 32, 16, 8, 4, 2 và 1.
Lấy 72. Nó bằng 64 cộng 8, nên bạn đặt số 1 vào vị trí 64 và số 1 vào vị trí 8, còn lại đặt 0 ở mọi nơi, cho ra 01001000. Lấy 105. Nó bằng 64 cộng 32 cộng 8 cộng 1, nên các bit là 01101001. Để đi theo chiều ngược lại, hãy cộng các giá trị vị trí ở mọi nơi có số 1 và bạn sẽ khôi phục được mã gốc, rồi tra mã đó để có ký tự.
Ví dụ minh họa: mã hóa "Hi"
Đưa hai chữ cái H và i qua quy trình này. H có mã ASCII 72, tức 64 + 8, cho ra byte 01001000. Chữ i có mã ASCII 105, tức 64 + 32 + 8 + 1, cho ra byte 01101001. Ghép lại bằng một dấu cách, "Hi" trở thành 01001000 01101001.
Đọc ngược lại chính là phép tính đó nhưng theo chiều đảo. Nhóm đầu tiên 01001000 có số 1 ở vị trí 64 và 8, cộng lại thành 72, tức là H. Nhóm thứ hai 01101001 cộng lại thành 64 + 32 + 8 + 1 = 105, tức là i. Hai nhóm tám bit, hai ký tự — một minh họa gọn gàng cho cách lưu trữ một từ ngắn.
ASCII so với UTF-8 và các ký tự nhiều byte
Bức tranh đơn giản một-ký-tự-một-byte chỉ đúng với bộ ASCII gốc, các điểm mã từ 0 đến 127, vốn bao gồm các chữ cái tiếng Anh, chữ số và dấu câu thông dụng. Bất cứ thứ gì vượt ra ngoài đó — chữ cái có dấu, các hệ chữ viết khác, ký hiệu và emoji — đều dùng UTF-8, bảng mã mà công cụ này áp dụng. UTF-8 có độ rộng thay đổi: một ký tự ASCII vẫn là một byte, nhưng các ký tự khác chiếm hai, ba hoặc bốn byte, và mỗi byte trở thành một nhóm tám bit riêng của nó.
Chẳng hạn, chữ é có dấu là hai byte 0xC3 và 0xA9 trong UTF-8, nên nó tạo ra hai nhóm nhị phân: 11000011 10101001. Một emoji điển hình là bốn byte và do đó là bốn nhóm. Đây là lý do một chuỗi văn bản không phải tiếng Anh cho ra nhiều nhóm tám bit hơn số ký tự nhìn thấy của nó, và là lý do tổng số bit luôn là bội số của tám.
Đọc nhị phân ngược lại thành văn bản
Để giải mã, công cụ cắt luồng bit thành các khúc tám bit, biến mỗi khúc thành một con số, rồi giải mã các con số đó dưới dạng UTF-8 để khôi phục các ký tự. Để việc này hoạt động, đầu vào chỉ được chứa các chữ số 0 và 1, và tổng số bit phải là bội số của tám, vì một byte không thể là một phần lẻ của tám bit.
Dấu cách giữa các nhóm là tùy chọn và sẽ bị bỏ qua, nên cả 0100100001101001 lẫn 01001000 01101001 đều giải mã thành "Hi". Nếu bạn dán nhị phân vào và gặp lỗi chuyển đổi, nguyên nhân thường gặp là một ký tự không phải nhị phân lọt vào đâu đó trong chuỗi hoặc độ dài không chia hết cho tám — có lẽ thiếu hoặc thừa một bit. Hãy dọn dẹp những lỗi đó thì việc giải mã sẽ thành công.
Khi nào điều này hữu ích
Chuyển văn bản sang nhị phân là một bài giảng kinh điển. Nó biến ý tưởng trừu tượng rằng "máy tính lưu mọi thứ dưới dạng con số" thành điều cụ thể và nhìn thấy được, đó là lý do nó xuất hiện trong các lớp khoa học máy tính, hướng dẫn lập trình và bài tập về mã hóa ký tự. Nhìn thấy "Hi" biến thành 01001000 01101001 làm sáng tỏ byte là gì tốt hơn nhiều so với chỉ một định nghĩa.
Ngoài giáo dục, việc chuyển đổi này còn xuất hiện trong các câu đố, phòng giải đố thoát hiểm và các thử thách capture-the-flag, nơi một chuỗi số một và số không là cách phổ biến để giấu một thông điệp ngắn. Nó cũng tiện lợi cho việc gỡ lỗi cấp thấp khi bạn muốn xem xét mẫu bit chính xác của một ký tự hoặc kiểm chứng cách một ký hiệu Unicode cụ thể được mã hóa trong UTF-8. Tuy nhiên, với việc lưu trữ dữ liệu thực tế, máy tính xử lý việc chuyển đổi này một cách vô hình — công cụ này là để hiểu và xem xét nó.
Câu hỏi thường gặp
Văn bản được chuyển đổi sang nhị 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ã yêu cầu định dạng nhị phân 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