>  기사  >  백엔드 개발  >  C# Base64 인코딩 기능

C# Base64 인코딩 기능

黄舟
黄舟원래의
2016-12-22 13:55:122018검색

1. Base64 인코딩 규칙
Base64 인코딩의 개념은 64개의 기본 ASCII 코드 문자를 사용하여 데이터를 다시 인코딩하는 것입니다. 인코딩해야 하는 데이터를 바이트 배열로 분할합니다. 3바이트 그룹으로 구성됩니다. 24비트 데이터를 순서대로 배열한 후 24비트 데이터를 4개의 그룹, 즉 각 그룹에 6비트로 나눕니다. 그런 다음 각 그룹의 가장 높은 비트 앞에 2개의 0을 추가하여 1바이트를 구성합니다. 이는 3바이트 데이터 그룹을 4바이트로 다시 인코딩합니다. 인코딩할 데이터의 바이트 수가 3의 정수배가 아닌 경우, 즉 그룹화할 때 마지막 그룹은 3바이트로 충분하지 않습니다. 이때 마지막 그룹에는 1~2개의 0바이트가 채워지게 된다. 그리고 최종 인코딩이 완료된 후 끝에 1~2 "="를 추가합니다.

예: ABC의 BASE64 인코딩:
1. 먼저 ABC에 해당하는 ASCII 코드 값을 가져옵니다. A (65) B (66) C (67);
2. 그런 다음 이진수 A(01000001) B(01000010) C(01000011)를 취합니다.
3. 함께 연결(010000010100001001000011)
4. 6비트 단위로 4개의 데이터 블록으로 나누고, 최상위 비트에 2개의 0을 채워 4바이트 인코딩된 값을 형성합니다. (00010100) (00000011), 파란색 부분은 실제 데이터입니다.
5. 그런 다음 이 4바이트의 데이터를 십진수로 변환하여 (16) (20) (9) (3)을 얻습니다. BASE64에서 제공하는 64개의 기본 문자표에서 해당 ASCII 코드 문자(Q)(U)(J)(D)를 찾습니다. 여기의 값은 실제로 문자표의 데이터 인덱스입니다.

참고: BASE64 문자 테이블: ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/

2. 디코딩 규칙
디코딩 프로세스는 4바이트를 3바이트로 복원한 다음 다른 데이터 형식에 따라 단어를 변환하는 것입니다. 배열이 데이터로 재배열됩니다.

3. C#으로 구현

byte[] bytes = Encoding.Default.GetBytes("helloworld"); 
string str = Convert.ToBase64String(bytes); 
Console.WriteLine(str); 
Console.ReadLine(); 
//base 64 decode 
bytes = Convert.FromBase64String(str); 
Console.WriteLine(Encoding.Default.GetString(bytes)); 
Console.ReadLine();
위 내용은 C# Base64 인코딩 기능 내용이며, 더 많은 관련 내용은 PHP 중국어 홈페이지(www.php.php)를 참고하시기 바랍니다. CN)!



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