Fall in IT.

자바 Base64 인코드/디코드 본문

프로그래밍언어/Java

자바 Base64 인코드/디코드

D.Y 2016. 9. 4. 14:16

안녕하세요.


오늘은 Base64에 대해서 알아보겠습니다.



Base64란?

  • 컴퓨터 분야에서 쓰이는 Base 64 (베이스 육십사)란 8비트 이진 데이터(예를 들어 실행 파일이나, ZIP 파일 등)를 문자 코드에 영향을 받지 않는 공통 ASCII 영역의 문자들로만 이루어진 일련의 문자열로 바꾸는 인코딩 방식을 가리키는 개념이다.


Base64 동작방식

  • base64는 8bit의 데이터(바이너리)를 6bit의 크기로 표현합니다. 따라서 24bit를 단위로 하여 3개의 문자에서 4개의 문자를 얻게 는 것입니다.


  • 위와 같이 abc를 base64 인코딩 하여 YWJj를 얻을 수 있게 됩니다. 여기서 6bit의 이진수는 아래의 base64 table을 이용하여 문자로 바꿔줍니다.


  • base64 인코딩 24bit 단위인데 인코딩할 문자가 3개(24bit) 단위가 아닐 때는 어떻게 되는지 알아보겠습니다.


  • 위의 결과를 보면 a라는 문자 하나를 넣었을 때는 YQ==으로 base64 table에 없는 '=' 문자가 추가된 것을 알 수 있습니다. '='은 bit수를 맞춰주기 위해 0으로 채워주는 패딩이라는 것 입니다.



자바에서 Base64 인코딩/디코딩하기 예제

1. Apache Commons Codec 사용
- 반드시, maven 디펜던시를 추가하거나, jar파일을 추가해야 사용할 수 있습니다.



2. 자바 util 패키지 사용 





모두 즐거운 코딩하세요~



참조


Comments