>  기사  >  Base64 인코딩의 원리는 무엇입니까?

Base64 인코딩의 원리는 무엇입니까?

coldplay.xixi
coldplay.xixi원래의
2020-07-01 15:00:013850검색

base64 인코딩의 원리는 8비트 하위 섹션 시퀀스를 6비트 조각으로 나누고 각 6비트 조각에 문자를 할당하는 것입니다. 이 64자는 소문자[a-z], 대문자[A-Z], 및 숫자 [ 0-9], 기호 [+], [/].

Base64 인코딩의 원리는 무엇입니까?

base64 인코딩의 원리는 다음과 같습니다.

Base64 인코딩은 8비트 하위 섹션 시퀀스를 6비트 조각으로 나누고 각 6비트 조각에 한 문자를 할당합니다. 이 64자는 소문자입니다. 문자 a-z, 대문자 A-Z, 기호 "+", "/". 이제 64자가 무엇을 의미하는지 알 수 있습니다. 실제로는 패딩된 "="도 있습니다.

Base64 규칙은 다음과 같습니다.

첫 번째 단계는 3바이트마다 총 24개의 이진 비트를 그룹화하는 것입니다.

두 번째 단계는 이 24개의 이진 비트를 4개의 그룹으로 나누는 것입니다. 각 그룹에는 6개의 이진 비트가 있습니다.

세 번째 단계는 각 그룹 앞에 00 두 개를 추가하여 32개의 이진수, 즉 4바이트로 확장하는 것입니다. 따라서 base64로 인코딩된 문자열은 원본보다 약 33% 더 큽니다.

Example

영어 단어 Man이 Base64 인코딩으로 변환되는 방식을 보여주는 구체적인 예를 들어보세요.

Base64 인코딩의 원리는 무엇입니까?

첫 번째 단계에서 "M", "a", "n"의 ASCII 값은 각각 77, 97, 110이고 해당 바이너리 값은 01001101, 01100001, 및 01101110. 이를 24비트 이진 문자열 010011010110000101101110에 연결합니다.

두 번째 단계는 이 24비트 이진 문자열을 4개의 그룹으로 나누는 것입니다. 각 그룹에는 6개의 이진 숫자(010011, 010110, 000101, 101110)가 있습니다.

세 번째 단계는 각 그룹 앞에 2개의 00을 추가하여 32개의 이진수, 즉 4바이트(00010011, 00010110, 00000101, 00101110)로 확장하는 것입니다. 십진수 값은 각각 19, 22, 5, 46입니다.

네 번째 단계는 아래 그림에 따라 각 값, 즉 T, W, F, u에 해당하는 Base64 인코딩을 가져옵니다.

따라서 Man의 Base64 인코딩은 TWFu입니다.

Base64 인코딩의 원리는 무엇입니까?

위 내용은 Base64 인코딩의 원리는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.