Quoted-printable 인 코딩 소개,Quoted-printable 인 코딩 인 코딩 변환 방법

Quoted-printable 은"인쇄 가능 한 문자 참조 인 코딩","인쇄 가능 한 문자 인 코딩 사용"으로 번역 할 수 있 습 니 다.우 리 는 메 일 을 받 고 메시지 의 원본 정 보 를 볼 수 있 습 니 다.이런 종류의 인 코딩 을 자주 볼 수 있 습 니 다!

가장 많 을 때,우 리 는 메 일 헤더 에서 이런 인 코딩 을 볼 수 있 습 니 다!Content-Transfer-Encoding:quoted-printable
그것 은 다 용도 인터넷 메 일 확장(MIME)의 실현 방식 이다.그 중에서 MIME 는 인터넷 표준 으로 전자 우편 표준 을 확장 하여 비 ASCII 문자,바 이 너 리 형식 첨부 파일 등 다양한 형식의 메 일 메 시 지 를 지원 할 수 있 도록 노력 합 니 다.현재 http 프로 토 콜 중 MIME 프레임 워 크 를 사용 하 는 경우 가 많 습 니 다!quoted-printable 은 일반적인 문 자 를 인쇄 할 수 있 는 방법 으로 바이트(8 비트)의 모든 비 인쇄 문자 방법 을 표시 합 니 다!
Quoted-printable 인 코딩 방법
8 비트 의 바이트 값 은 3 글자 로 인 코딩 할 수 있 습 니 다.하나의 등호="다음 에 16 진수(0C9 또는 ACF)를 따라 이 바이트 의 수 치 를 표시 합 니 다.예 를 들 어 ASCII 코드 의 페이지 바 꿈 문자(10 진수 12)는'=0C',등호'='(10 진수 61)로 표시 할 수 있 습 니 다.ASCII 문자 와 줄 바 꿈 자 를 인쇄 할 수 있 는 것 을 제외 하고,모든 문 자 는 이 형식 으로 표시 해 야 합 니 다.
인쇄 가능 한 모든 ASCII 문자(10 진 값 의 범 위 는 33 에서 126)는 ASCII 문자 인 코딩 으로 직접 표시 할 수 있 지만 등호'='(10 진 값 61)는 이렇게 직접 표시 할 수 없습니다.ASCII 의 수평 탭 문자(tab)와 빈 칸 문자,10 진 은 9 와 32 이 며,현재 줄 끝 이 나 지 않 으 면 ASCII 문자 인 코딩 으로 직접 표시 할 수 있 습 니 다.이 두 글자 가 줄 끝 에 나타 나 면 QP 인 코딩 은'=09〃(tab)또는'=20〃(space)로 표시 해 야 합 니 다.
데이터 에 의미 있 는 줄 끝 표시 가 포함 되 어 있 으 면 ASCII 리 턴(CR)줄 바 꿈(LF)시퀀스 로 변환 해 야 합 니 다.원래 ASCII 문자 도 사용 할 수 없고 QP 로 인 코딩 할 수도 없습니다.반대로 바이트 값 13 과 10 이 줄 끝 이 아 닌 다른 의미 가 있다 면 QP 인 코딩 을=0D 와=0A 로 해 야 합 니 다.
quoted-printable 인 코딩 된 데이터 의 줄 당 길 이 는 76 자 를 초과 할 수 없습니다.이 요 구 를 만족 시 키 기 위해 인 코딩 된 텍스트 를 바 꾸 지 않 고 QP 인 코딩 결과 의 줄 끝 에 소프트 줄 바 꾸 기(soft line break)를 추가 합 니 다.즉,줄 끝 에'='을 추가 하지만 디 코딩 된 텍스트 에는 나타 나 지 않 습 니 다.
예 를 들 어,If you believe that truth=beauty,then certainly mathematics is the most beautiful branch of philosophy.인 코딩 후 결 과 는?
If you believe that truth=3Dbeauty, then surely=20=
mathematics is the most beautiful branch of philosophy.
인 코딩 안에 몇 가지 특정한 제한 이 있 습 니 다.일부 인쇄 가능 한 문 자 는 인 코딩 을 하지 않 습 니 다.물론 규범 에 따라 인 코딩 을 한 후에 도 표시 할 수 있 습 니 다!그래서 스스로 이 인 코딩 을 간단하게 실현 합 니 다.

function quoted_printable_encode($string) { 
  return preg_replace('/[^\r
]{73}[^=\r
]{2}/', "$0=\r
", str_replace("%","=", rawurlencode($string))); }
함수 하나 면 됩 니 다.모든 문자열 urlencode 를 변환 한 후%번 호 를'='번 으로 바 꾼 다음 에 비\r 가 73 연속 문 자 를 초과 하고 그 뒤에=\r 를 추가 합 니 다.이 건 간단 한 실현 방법!이 인 코딩 의 상세 한 설명 에 따 르 면 일부 빈 칸,줄 바 꾸 기,그리고 일부 특수 문 자 는 바 꾸 지 않 아 도 된다.하지만 함께 바 뀌 어도 영향 이 없 을 거 야!
많은 경우,우 리 는 일반적인 문자 로 모든 8 비트 의 다른 비 인쇄 문 자 를 표시 합 니 다.이 는 Quoted-printable 인 코딩 을 통 해 이 바이트 가 16 진수 로 바 뀐 후에 간단하게 접 두 사 를 추가 합 니 다!그리고 특수 문자 처 리 를 하면 됩 니 다!간단 하고 인 코딩 이 효율 적 이 며 이 인 코딩 은 메 일 형식 에서 광범 위 하 게 사용 되 었 습 니 다!자,여기까지 입 니 다.교 류 를 환영 합 니 다!

좋은 웹페이지 즐겨찾기