-
[Android] Base64를 이용한 encoding시 주의점programing/Mobile 2019. 4. 1. 17:36
안녕하세요, Einere입니다.
(ADblock을 꺼주시면 감사하겠습니다.)
오늘은 Android Studio에서 Base64를 이용하여 인코딩을 할 때 주의사항에 대해 알아보겠습니다.
Base64
Base64을 사용하여 인코딩시, 인코딩 된 문자열의 한 line을 표시하기 위한 flag bit로서 LF(\n)를 삽입한다고 합니다.
정확히는 76글자가 넘는다면, 해당 위치에 개행문자(LF)를 삽입합니다.
encodeToString
public static String encodeToString (byte[] input, int flags)
보통 Base64를 이용하여 인코딩 하는 경우, 결과물로서 String을 사용하는 경우가 많기 때문에 위 함수를 사용하는 경우가 많습니다.
Android Developers 사이트에 따르면, encodeToString()의 명세는 위와 같습니다.
flags를 설정할 수 있는데, 종류는 다음과 같습니다.
만약 인코딩된 문자열을 다룰 때 개행문자에 조심해야 한다면 flags로 NO_WRAP을 사용하는 것이 좋습니다.
해당 플래그를 준다면 LF(/n)없이, 하나의 긴 문자열을 반환하게 됩니다.
하나의 이미지 파일을 인코딩 할 때, DEFAULT와 NO_WRAP이 어떻게 다른지 실제 결과를 보도록 하겠습니다.
이렇게 차이가 나게 됩니다.
'programing > Mobile' 카테고리의 다른 글
[Android] camera2 API - 검은 사진이 찍히는 현상 해결 방법 (0) 2019.08.23 [Android] background theme를 이용한 splash screen (0) 2019.05.12 [Android Studio] 협업과 Instant Run 관련 에러 해결 방법 (0) 2019.03.30 [Android] dp를 px로 변환하는 법 (0) 2019.03.18 [Android] ImageView gray scale filter 적용 및 해제 방법 (0) 2019.03.14 댓글