UTILS.
۱۰۰٪ در مرورگر
✉️

کدگذاری و کدگشایی Quoted-Printable

متن را به Quoted-Printable مربوط به MIME (escapeهای =XX، شکست خطوط نرم) کدگذاری یا از آن کدگشایی کنید، با یک حالت body و حالت header 'Q' مربوط به RFC 2047.

متنی را در بالا وارد کنید تا کدگذاری یا کدگشایی شود.

درباره این ابزار

ابزار کدگذاری و کدگشایی Quoted-Printable متن را به Quoted-Printable مربوط به MIME و برعکس تبدیل می‌کند، کدگذاری content-transfer که در ایمیل برای متنی که عمدتاً ASCII با بایت‌های غیر ASCII گاه‌به‌گاه است استفاده می‌شود. کدگذاری (طبق RFC 2045 §6.7) ASCII قابل چاپ (33–126) را بدون تغییر عبور می‌دهد به‌جز خود '=' که به =3D تبدیل می‌شود. هر بایت خارج از آن بازه — حروف با تشدید، نمادها، و دنباله‌های چندبایتی UTF-8 — به‌صورت =HH با hex حروف بزرگ نوشته می‌شود. فاصله‌ها و tabهای واقعی نگه داشته می‌شوند، به‌جز در انتهای یک خط که به‌صورت =20 یا =09 کدگذاری می‌شوند تا از انتقال جان سالم به در ببرند.

همه‌چیز به‌صورت محلی در مرورگر شما اجرا می‌شود و هیچ‌چیزی بارگذاری نمی‌شود. در حالت body، کدگذار محدودیت ۷۶ کاراکتری خط را با درج یک شکست خط نرم — یک '=' بلافاصله پیش از CRLF — اعمال می‌کند و هرگز یک سه‌گانه =HH را در یک شکست تقسیم نمی‌کند. کدگشایی همه این‌ها را معکوس می‌کند: شکست‌های نرم ('=' به‌دنبال یک خط جدید) را حذف می‌کند، هر =HH را به بایت آن برمی‌گرداند، و هر کاراکتر دیگر را همان‌طور که هست می‌گذارد، و در نهایت بایت‌های بازسازی‌شده را به‌عنوان UTF-8 تفسیر می‌کند تا متن با تشدید و غیر لاتین به‌درستی رفت‌وبرگشت کند.

یک انتخابگر حالت بین کدگذاری استاندارد body و حالت header 'Q' مربوط به RFC 2047 که درون encoded-wordهای =?charset?Q?...?= استفاده می‌شود جابه‌جا می‌شود. در حالت header، یک فاصله با یک underscore '_' نمایش داده می‌شود (و یک '_' واقعی به‌صورت =5F کدگذاری می‌شود)، که کدگشا آن را دوباره به یک فاصله نگاشت می‌کند. یک جهت و حالت را انتخاب کنید، متن خود را بچسبانید، و نتیجه را کپی کنید.

پرسش‌های پرتکرار

Quoted-Printable برای چه استفاده می‌شود؟
یک کدگذاری content-transfer ایمیل برای متنی است که عمدتاً ASCII اما دارای برخی بایت‌های غیر ASCII است. کاراکترهای خوانا را خوانا نگه می‌دارد در حالی که بایت‌هایی را که ممکن است در انتقال تغییر کنند به‌طور ایمن escape می‌کند، برخلاف Base64 که کل پیام را مبهم می‌کند.
شکست خط نرم چیست؟
برای رعایت محدودیت ۷۶ کاراکتری خط، کدگذار یک خط پیچیده‌شده را با یک '=' انتهایی درست پیش از CRLF پایان می‌دهد. آن '=' یک شکست نرم است: به معنای 'این خط ادامه دارد' است، بنابراین کدگشا خطوط را دوباره به هم می‌پیوندد و بخشی از داده نیست.
حالت header 'Q' چه تفاوتی با حالت body دارد؟
حالت 'Q' مربوط به RFC 2047 (که درون encoded-wordهای =?UTF-8?Q?...?= در headerها استفاده می‌شود) یک فاصله را به‌جای =20 با یک underscore '_' نمایش می‌دهد، و یک underscore واقعی را به‌صورت =5F کدگذاری می‌کند. حالت body فاصله‌ها را واقعی نگه می‌دارد و پیچش نرم ۷۶ ستونی را اعمال می‌کند.
آیا یونیکد / UTF-8 را به‌درستی مدیریت می‌کند؟
بله. هنگام کدگذاری، هر کاراکتر به بایت‌های UTF-8 آن تبدیل می‌شود و هر بایت خارج از 33–126 به =HH تبدیل می‌شود. هنگام کدگشایی، تمام بایت‌های کدگشایی‌شده دوباره سرهم و به‌عنوان UTF-8 خوانده می‌شوند، بنابراین کاراکترهای چندبایتی مانند é، £ و — دقیقاً رفت‌وبرگشت می‌کنند.

ابزارهای بیشتر