하이브리드앱 방식의 앱을 개발 중 발생한 트러블 내용을 남겨본다.
appname://key=Abcde+
key 파라미터의 값은 웹에서 BASE64로 인코딩하여 앱으로 넘기는데
문제가 된 부분은 앱에서 해당 값을 디코딩할 때 "bad BASE-64" 오류가 발생하는 것이다.
처음엔 UrlDecoding 후 BASE64 Decoding 하여 문제가 발생하는게 아닐까 의심하였는데
구글링 결과...
생각치 않는 부분에서 버그가 존재한다는 것을 알게 되었다.
버그 내용은 환경에 따라 BASE64로 인코딩한 값을 GET 방식으로 전송하면
"+" 플러스 문자가 공백으로 변경되어 값을 받는 쪽에서는 디코딩 시 오류가 발생할 수
있다는 것이었다.
간단한 해결방법은 값을 받는 측에서 문자치환을 통해 " " 공백문자를 "+" 플러스 문자로
변경하고 BASE64로 디코딩하는 것이다.
공백 외에도 "_"를 "/"로 "-"를 "+"로 치환하여야 한다고 하니 꼭 기억하고 있자.
'IT > Java' 카테고리의 다른 글
JAVA Install/Uninstalling For Mac (0) | 2015.11.15 |
---|---|
SuppressWarnings에서 사용가능한 token (0) | 2015.06.22 |
WRITTEN BY
- Dukejin
If you don't walk today, you will have to run tomorrow. Try hard, Try hard!
,