UTILS.
100% trong trình duyệt
✉️

Mã hóa & Giải mã Quoted-Printable

Mã hóa văn bản sang hoặc giải mã văn bản từ MIME Quoted-Printable (escape =XX, ngắt dòng mềm), với chế độ body và biến thể 'Q' cho header RFC 2047.

Nhập văn bản ở trên để mã hóa hoặc giải mã.

Về công cụ này

Công cụ Mã hóa & Giải mã Quoted-Printable chuyển đổi văn bản đến và từ MIME Quoted-Printable, cách mã hóa truyền-nội-dung dùng trong email cho văn bản chủ yếu là ASCII với thi thoảng có byte phi-ASCII. Mã hóa (theo RFC 2045 §6.7) cho ASCII in được (33–126) đi qua không đổi trừ chính '=', trở thành =3D. Bất kỳ byte nào ngoài khoảng đó — chữ cái có dấu, ký hiệu, và các chuỗi UTF-8 nhiều byte — được viết dưới dạng =HH bằng hex chữ hoa. Khoảng trắng và tab theo nghĩa đen được giữ lại, trừ ở cuối một dòng nơi chúng được mã hóa thành =20 hoặc =09 để chúng sống sót qua truyền tải.

Mọi thứ chạy cục bộ trong trình duyệt của bạn và không có gì được tải lên. Ở chế độ body, trình mã hóa thực thi giới hạn 76 ký tự bằng cách chèn một ngắt dòng mềm — một '=' ngay trước CRLF — và nó không bao giờ tách một bộ ba =HH qua một ngắt dòng. Việc giải mã đảo ngược tất cả điều này: nó loại bỏ các ngắt mềm ('=' theo sau bởi một dòng mới), biến mỗi =HH ngược lại thành byte của nó, và giữ nguyên mọi ký tự khác, cuối cùng diễn giải các byte đã tái dựng như UTF-8 để văn bản có dấu và phi-Latin chuyển đi-về chính xác.

Một bộ chọn chế độ chuyển đổi giữa mã hóa body tiêu chuẩn và biến thể 'Q' cho header RFC 2047 dùng bên trong các từ-mã-hóa =?charset?Q?...?=. Ở biến thể header, một khoảng trắng được biểu diễn bằng một dấu gạch dưới '_' (và một '_' theo nghĩa đen được mã hóa thành =5F), mà trình giải mã ánh xạ ngược thành một khoảng trắng. Chọn một hướng và chế độ, dán văn bản của bạn, và sao chép kết quả.

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

Quoted-Printable được dùng để làm gì?
Nó là một cách mã hóa truyền-nội-dung email cho văn bản chủ yếu là ASCII nhưng có một số byte phi-ASCII. Nó giữ các ký tự đọc được vẫn dễ đọc trong khi escape an toàn các byte có thể bị thay đổi khi truyền tải, không như Base64 vốn che khuất toàn bộ thông điệp.
Ngắt dòng mềm là gì?
Để tôn trọng giới hạn 76 ký tự, trình mã hóa kết thúc một dòng đã ngắt bằng một '=' ở cuối ngay trước CRLF. Dấu '=' đó là một ngắt mềm: nó nghĩa là 'dòng này tiếp tục', nên trình giải mã nối các dòng lại với nhau và nó không phải là một phần của dữ liệu.
Chế độ header 'Q' khác chế độ body thế nào?
Biến thể 'Q' của RFC 2047 (dùng bên trong các từ-mã-hóa =?UTF-8?Q?...?= trong header) biểu diễn một khoảng trắng bằng một dấu gạch dưới '_' thay vì =20, và mã hóa một dấu gạch dưới theo nghĩa đen thành =5F. Chế độ body giữ khoảng trắng theo nghĩa đen và áp dụng ngắt-dòng-mềm 76-cột.
Nó có xử lý Unicode / UTF-8 đúng không?
Có. Khi mã hóa, mỗi ký tự được chuyển thành các byte UTF-8 của nó và bất kỳ byte nào ngoài 33–126 trở thành =HH. Khi giải mã, tất cả các byte đã giải mã được ráp lại và đọc như UTF-8, nên các ký tự nhiều byte như é, £, và — chuyển đi-về chính xác.

Công cụ khác