Base64 인코딩은 인터넷에서 8Bit 바이트코드를 전송하는 데 사용되는 가장 일반적인 인코딩 방법 중 하나입니다. Base64는 인쇄 가능한 64개의 문자를 기반으로 이진 데이터를 표현하는 방법입니다. MIME의 세부 사양을 담은 [RFC2045~RFC2049]를 보실 수 있습니다.
이 문서의 운영 환경: Windows 7 시스템, Dell G3 컴퓨터.
Base64 인코딩은 바이너리를 문자로 변환하는 프로세스이며 HTTP 환경에서 더 긴 식별 정보를 전달하는 데 사용할 수 있습니다. Base64 인코딩은 읽을 수 없으며 읽기 전에 디코딩해야 합니다.
Base64위의 장점으로 인해 컴퓨터의 다양한 분야에서 널리 사용됩니다. 그러나 출력 내용에 두 개 이상의 "기호 유형" 문자(+, /, =)가 포함되므로 다양한 응용 시나리오가 개발되었습니다. Base64 버전. Base64의 출력을 통합하고 정규화하기 위해 Base62x는 unsigned의 향상된 버전으로 간주됩니다.
표준 Base64는 URL에서 직접 전송하는 데 적합하지 않습니다. 왜냐하면 URL 인코더는 표준 Base64의 "/" 및 "+" 문자를 "%XX" 형식으로 변경하고 이러한 "%" 기호를 사용해야 하기 때문입니다. ANSI SQL에서 "%" 기호가 와일드카드 문자로 사용되었기 때문에 데이터베이스에 저장할 때 다시 변환됩니다.
이 문제를 해결하려면 끝에 '=' 기호를 추가하고 표준 Base64의 "+" 및 "/"를 "-" 및 "_"로 변경하는 향상된 URL용 Base64 인코딩을 사용할 수 있습니다. URL 인코딩, 디코딩 및 데이터베이스 저장 중에 변환이 필요하지 않으며, 프로세스에서 인코딩된 정보의 길이가 늘어나는 것을 방지하고, 데이터베이스, 양식 등의 개체 식별자 형식을 통합합니다.
정규식에 대한 향상된 Base64 변형도 있습니다. "+", "/"를 "!" 및 "-"로 변경합니다. "+", "*" 및 이전에 IRCu에서 사용된 것 모두 "["이기 때문입니다. 및 "]"는 정규식에서 특별한 의미를 가질 수 있습니다.
또한 "+/"를 "_-" 또는 "._"(프로그래밍 언어에서 식별자 이름으로 사용됨) 또는 ".-"(XML에서 Nmtoken에 사용됨) 또는 심지어 "_:"로 변경하는 일부 변형이 있습니다. (XML의 이름용).
Base64에서는 3개의 8Bit 바이트를 4개의 6Bit 바이트(3*8 = 4*6 = 24)로 변환한 다음 6Bit에 두 개의 상위 비트 0을 추가하여 4개의 8Bit 바이트를 형성해야 합니다. 이론적으로 원래 것보다 1/3 더 길어집니다.
규칙
이 인코딩에 대한 규칙:
① 3바이트를 4바이트로 바꿉니다.
②76자마다 줄바꿈 문자를 추가하세요.
3.최종 터미네이터도 처리해야 합니다.
예
변환 전 11111111, 11111111, 11111111(바이너리)
변환 후 00111111, 00111111, 00111111, 00111111(바이너리)
위 3바이트는 원본 텍스트이고, 아래 4바이트는 변환 내용입니다. Base64 인코딩의 처음 두 비트는 0입니다.
변환 후 코드 테이블을 사용하여 원하는 문자열(즉, 최종 Base64 인코딩)을 얻습니다. 이 테이블은 다음과 같습니다. (RFC2045에서 발췌)
관련 영상 추천: PHP 프로그래밍 능숙
위 내용은 base64 인코딩이란 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!