가능한 중복 :
Why does base64 encoding requires padding if the input length is not divisible by 3?Base64 인코딩에서 패딩이 사용되는 이유는 무엇입니까?
이 Wikipedia를 인용은 : 디코딩 할 때
...이 패딩 문자는 다음 은 폐기해야하지만 여전히 는 계산을 허용 유효 인코딩되지 않은 텍스트의 길이, 해당 입력 이진 길이는 3 바이트의 배수가 아닙니다. ...
그러나 패딩 문자를 제거하더라도 길이 원시 데이터 계산은 쉽게 수행 할 수 있습니다.
| Encoded
|--------------------------------------
Raw Size | Total Size | Real Size | Padding Size
1 | 4 | 2 | 2
2 | 4 | 3 | 1
3 | 4 | 4 | 0
4 | 8 | 6 | 2
5 | 8 | 7 | 1
6 | 8 | 8 | 0
7 | 12 | 10 | 2
8 | 12 | 11 | 1
9 | 12 | 12 | 0
10 | 16 | 14 | 2
.
.
.
가 그래서 실제 인코딩 크기 (세 번째 열) 당신은 항상 올바르게 크기가 될 것 패딩 무엇인지 추측 할 수 주어진 :
PaddedSize = 4 * Ceil (RealSize/4)
그래서 이론적으로, 패딩의 필요가 없었다. 알고리즘이 그것을 처리했을 것입니다. Base64 인코딩은 널리 사용되는 산업 표준으로, 많은 응용 프로그램 및 장치에서 사용됩니다. 이것들은 인코딩 된 크기의 감소로부터 이익을 얻었을 것입니다. 그렇다면 왜 Base64 인코딩에서 패딩이 사용되는 것입니까?
@ 이그나시오 : 그 질문은 왜 * 왜 설명하는 것이 좋지 않습니다. – BastiBen
일부 중복이 허용 된 것으로 생각됩니다 (http : //blog.stackoverflow.충분한 정보가 질문에 담겨 있고 다른 관점으로 질문을받는 한 com/2010/11/dr-strangedupe-or-how-i-learn-to-stop-worrying-and-love-duplication /) – Hemant