문서의 임의 삭제는 제재 대상으로, 문서를 삭제하려면 삭제 토론을 진행해야 합니다. 문서 보기문서 삭제토론 BASE64 (문서 편집) [목차] == 개요 == [[바이너리]] 데이터를 문자 코드에 영향을 받지 않는 공통 [[아스키 코드|ASCII]] 문자로 표현하기 위해 만들어진 [[인코딩]]이다. [[네이버 지식iN]] 등의 [[URL]]에서 자주 볼 수 있는 형태의 바로 그것. ASCII 문자 하나가 64진법의 숫자 하나를 의미하기 때문에 BASE'''64'''라는 이름을 가졌다. 8비트짜리 [[바이트]] 3개를 6비트씩 4개로 쪼개어 Base64 코드 4개로 바꾸어 표현한다. Base64 코드를 바이너리로 디코딩하기 편하게 하기 위해 Base64 코드를 무조건 4글자 단위로 만들고, 빈 부분을 '=' 문자로 채워두기도 한다.[* 종류에 따라 채우지 않기도 한다. 어차피 채우지 않아도 디코딩할 때 꼬일 염려는 없다.] BASE64 코드를 쉽게 변환할 수 있는 사이트가 있다. [[https://www.base64encode.org|인코딩]] [[https://www.base64decode.org|디코딩]] 알고리즘이나 이미 존재하는 라이브러리를 이용해 직접 인코딩/디코딩 프로그램을 쉽게 만들 수 있다. == 예시 == 'E1L'을 Base64로 인코딩하는 과정은 아래와 같다. || '''원문''' ||<-8> '''E''' ||<-8> '''1''' ||<-8> '''L''' || || '''바이트 값''' ||<-8> 0x45 ||<-8> 0x31 ||<-8> 0x4C || || '''2진수''' ||0||1||0||0||0||1||0||1||0||0||1||1||0||0||0||1||0||1||0||0||1||1||0||0|| || '''변환 값''' ||<-6> 17 ||<-6> 19 ||<-6> 5 ||<-6> 12 || || '''결과''' ||<-6> '''R''' ||<-6> '''T''' ||<-6> '''F''' ||<-6> '''M''' || 결과는 '[[RTFM]]'. 디코딩은 이 표에 나온 과정을 거꾸로 하면 된다. 리눅스에서는 base64 명령을 다음과 같이 사용할 수 있다. $ echo -n E1L | base64 RTFM $ echo RTFM | base64 --decode E1L == Base64 변환 표 == || '''값''' || '''문자''' ||<|17>|| '''값''' || '''문자''' ||<|17>|| '''값''' || '''문자''' ||<|17>|| '''값''' || '''문자''' || || 0||A|| 16||Q|| 32||g|| 48||w|| || 1||B|| 17||R|| 33||h|| 49||x|| || 2||C|| 18||S|| 34||i|| 50||y|| || 3||D|| 19||T|| 35||j|| 51||z|| || 4||E|| 20||U|| 36||k|| 52||0|| || 5||F|| 21||V|| 37||l|| 53||1|| || 6||G|| 22||W|| 38||m|| 54||2|| || 7||H|| 23||X|| 39||n|| 55||3|| || 8||I|| 24||Y|| 40||o|| 56||4|| || 9||J|| 25||Z|| 41||p|| 57||5|| || 10||K|| 26||a|| 42||q|| 58||6|| || 11||L|| 27||b|| 43||r|| 59||7|| || 12||M|| 28||c|| 44||s|| 60||8|| || 13||N|| 29||d|| 45||t|| 61||9|| || 14||O|| 30||e|| 46||u|| 62||+[* 62번과 63번은 종류에 따라 다르다. 표준은 이거]|| || 15||P|| 31||f|| 47||v|| 63||/|| [[분류:문자 전산 처리]][[분류:프로그래밍]][[분류:진법]]저장 버튼을 클릭하면 당신이 기여한 내용을 CC-BY-NC-SA 2.0 KR으로 배포하고,기여한 문서에 대한 하이퍼링크나 URL을 이용하여 저작자 표시를 하는 것으로 충분하다는 데 동의하는 것입니다.이 동의는 철회할 수 없습니다.캡챠저장미리보기