반응형
[android] QUOTED-PRINTABLE 의 예외처리 =\r\n |
-
QUOTED_PRINTABLE 은 모든 문자를 =XX 형태로 표시하는 encoding 방법이다.
XX 는 hexadecimal 문자가 들어간다. 다시 말해, 0~9 또는 A~F 가 들어간다는 이야기이다.
알파벳의 경우 대문자만 인정하고 있다.
예를 들면 12 는 =0C 로, 61 은 =3D 로 표시되는 그런 형태이다.
-
그런데 Spec 에 잘 정의되지 않아서(혹은 내가 대충 읽어서) 개발자를 애먹이는 녀석이 하나 있는데 바로 =\r\n 이다.
QUOTED-PRINTABLE 로 encoding 할 때 길다 싶으면 line wrap 을 하곤 하는데 이 때 사용하는 기호가 “=\r\n” 이다.
그래서 QUOTED_PRINTABLE 을 vcard 같은 곳에서 parsing 할 때 carriage return 인 \r\n 으로만 하게 되면, quoted-printable 의 format 이 깨지게 된다.
예를 들면 이런 문자가 남게 되는 것이다. =0C=3D= ( 마지막에 = 가 남아있는 형태 )
그렇기 때문에 quoted-printable 의 new line 혹은 carriage return 인 =\r\n 을 찾아 적절히 empty string 등으로 replace 해준 후에 decoding 을 진행해야 원하는 값을 얻을 수 있다.
-
Quoted printable 에 대한 자세한 이야기는 Wiki page 를 참조해보시길~
-
끝!
반응형
'프로그래밍 놀이터 > 안드로이드, Java' 카테고리의 다른 글
[android] dialog style 속성 (0) | 2019.04.27 |
---|---|
[android] concurrent document에 대해 알아본다. (0) | 2019.04.25 |
[android] CONNECTIVITY_ACTION deprecated 에 대한 이야기 (0) | 2019.04.09 |
[Effective Unit Testing] Appendix B. JUnit 확장하기 (0) | 2019.03.29 |
[Effective Unit Testing] Appendix A. JUnit 기초 (0) | 2019.03.20 |
댓글