6,921.46
전일대비 0.53 (+ 0.01% )
23,480.02
전일대비 104.26 ( -0.44% )
49,266.11
전일대비 270.03 (+ 0.55% )
Base64 인코딩은 바이너리 (binary) 데이터를 ASCII 영역의 문자열로 변환하는 인코딩 방식입니다.
이 방식은 바이너리 데이터를 텍스트 형식으로 저장하거나 전송할 필요가 있을 때 주로 사용됩니다.
Base64는 64개의 ASCII 문자를 사용하는데, 이는 A-Z, a-z, 0-9, +, / 로 구성되며, 결과 데이터의 끝에는 필요에 따라 '=' 문자를 사용하여 패딩을 할 수 있습니다.
Base64 인코딩 과정
입력 바이너리 데이터를 8비트 단위로 나눕니다.
"Hello" 의 ASCII 코드는 72,101, 108, 108, 111 입니다.
이를 이진수로 표현하면 01001000, 01100101, 01101100, 01101100, 01101111
이 데이터를 6비트 단위로 재그룹핑합니다. 이때 필요하다면 끝에 비트를 추가하여 길이를 맞춥니다.
3바이트(24비트)의 입력 데이터를 4개의 6비트 단위로 나눕니다.
8비트를 6비트로 변환을 최적화 할 수 있도록 최소공배수인 24비트씩 처리
6비트 단위로 재그룹핑하면 010010, 000110, 010101, 101100, 011011, 000110, 1111입니다.
각 6비트 값을 Base64 테이블에 정의된 문자로 매핑합니다.
여기에 맞춰 Base64 문자열로 변환하면 "SGVsbG8"입니다.
마지막으로, 인코딩된 데이터의 길이가 4의 배수가 되도록 '=' 문자로 패딩합니다.
4의 배수가 되도록 =로 패딩을 해줍니다. "SGVsbG8="