노무현 전 대통령 서거 추모글 남기기

base64

개발자가 뭐길래 | 2007. 9. 12. 15:42 | sweetw

 base64

다음은 베이스 육십사에 대한 위키피디아의 설명이다.

 

8비트 바이너리 데이터(예를 들어 실행파일이나, ZIP파일 등)를 문자 코드에 영향을 받지 않는 공통 아스키 영역의 문자들로만 이루어진 일련의 스트링으로 바꾸는 인코딩 방식을 가리키는 개념이다.

 

원래 Base 64를 글자 그대로 번역하여 보면 64진법이란 뜻이다. 특별히 64진법이 컴퓨터에서 흥미로운 것은, 64가 2의 제곱수(64 = 26)이며, 2의 제곱수들에 기반한 진법들 중에서 화면에 표시가 되는 아스키 문자들을 써서 표현할 수 있는 가장 큰 진법이기 때문이다. 즉 다음 제곱수인 128진법에는 128개의 기호가 필요한데 화면에 표시되는 아스키 문자들은 128개가 되지 않는다.

 

그런 이유 때문에 이 인코딩은 이메일을 통한 바이너리 데이터 전송 등에 많이 쓰이고 있다. Base 64에는 어떤 문자와 기호를 쓰느냐에 따라 여러 변종이 있지만, 잘 알려진 것은 모두 처음 62개는 알파벳 A-Z, a-z와 0-9를 사용하고 있으며 마지막 두 개를 어떤 기호를 쓰느냐의 차이만 있다.

 

즉, ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/ 를 하나의 배열로 두고 사용하고 있다.

아래의 예에서는 8비트가 1 바이트인 'Man'을 6비트씩 잘라서 위의 배열에 상응하는 문자로 바꾸어 'TWFu' 라는 결과를 낸다.

결과적으로, 8비트 3개 (8*3= 24비트) 를 6비트 4개( 6*4 =24비트)로 바꾸게 되며, 문장의 맨 마지막에 모자라는 비트에 대해서는 "=" 으로 채운다. 바꾼 결과는 4/3 정도 커진다.

 

  base64.JPG


참고 사이트 :

http://en.wikipedia.org/wiki/Base64

http://ko.wikipedia.org/wiki/%EB%B2%A0%EC%9D%B4%EC%8A%A464

이 글은 스프링노트에서 작성되었습니다.

'개발자가 뭐길래' 카테고리의 다른 글

버그 잡이  (0) 2007.09.28
여자 개발자 모임 인터뷰  (0) 2007.09.18
야근일기  (3) 2007.08.21
여자개발자모임 주제토론회를 다녀와서  (2) 2007.08.02
MySql/Foreign Key  (0) 2007.08.02