Quoted-Printable 인코더

Quoted-printable은 8비트 텍스트가 7비트 메일 전송에서 살아남게 해 주는 인코딩입니다. 이 인코더는 126을 초과하는 각 바이트(그리고 = 같은 특수 문자 몇 개)를 =XX 16진 이스케이프로 변환하고, 76자에서 줄을 소프트 래핑하여 MIME Content-Transfer-Encoding: quoted-printable 본문에 바로 넣을 수 있는 문자열을 제공합니다.

Quoted-printable로 인코딩하는 방법

  1. 1

    텍스트 붙여넣기

    입력은 기본적으로 UTF-8로 처리됩니다. 강세 문자와 이모지는 멀티바이트 시퀀스가 됩니다.

  2. 2

    인코딩 클릭

    출력 가능한 ASCII 범위를 벗어난 바이트와 = 기호 자체는 대문자 16진의 =HH 이스케이프가 됩니다.

  3. 3

    소프트 줄바꿈 활용

    76자보다 긴 줄은 끝에 =와 CRLF를 붙여 끊습니다. MTA가 이를 다시 합칩니다.

규칙, 짧은 버전

RFC 2045가 quoted-printable을 정의합니다. 중요한 부분:

바이트 범위 처리
= (61)을 제외한 33~126 그대로 출력
9 (탭), 32 (공백) 줄 끝이 아니면 그대로
= (61) 항상 =3D로 이스케이프
그 외 전부 =HH로 이스케이프
줄 길이 > 76 = + CRLF로 소프트 래핑

이것이 존재하는 이유

SMTP는 역사적으로 7비트 클린 전달을 보장했습니다. 그 범위를 벗어난 것은 잘리거나 뒤집히거나 분할될 수 있었습니다. Quoted-printable은 본문을 디버거로 열었을 때도 읽을 수 있게 유지하면서(불투명한 base64와 달리) 전송에 안전합니다.

흔한 함정

  • 끝 공백. 줄 끝의 공백은 =20으로 인코딩해야 하며, 그렇지 않으면 메일 릴레이가 잘라냅니다.
  • 줄 끝 문자. LF가 아니라 CRLF를 쓰세요. RFC 5322 헤더가 이를 요구합니다.
  • UTF-8 먼저. 텍스트를 UTF-8 바이트로 인코딩한 다음 quoted-printable로 처리하세요. 순서를 바꾸면 강세 문자가 깨집니다.

자주 묻는 질문

텍스트가 대부분 ASCII이고 가끔 비ASCII 바이트가 섞이면(전형적인 유럽 이메일) quoted-printable을 쓰세요. 내용이 바이너리이거나 비라틴 문자가 많으면 base64를 쓰세요: 더 효율적으로 압축합니다.

그것은 UTF-8 바이트로 인코딩된 활자체 오른쪽 작은따옴표(U+2019)입니다. quoted-printable을 이해하지 못하는 클라이언트가 원시 이스케이프를 그대로 보여주는 것입니다.

RFC 2045는 76을 quoted-printable 한 줄의 절대 최대값으로 정합니다. 대부분의 인코더는 끝의 = 소프트 브레이크 공간을 남기기 위해 75에서 래핑합니다. 76을 초과하면 엄격한 MTA에 거부될 위험이 있습니다.

네. 인코딩 또는 디코딩을 위해 텍스트가 사이트로 전송됩니다. 비밀번호, 개인 키, 기밀 메시지는 붙여넣지 마세요.

관련 도구

이 도구는 다른 언어로도 제공됩니다