2011-09-17 7 views

답변

2

Wikipedia's page의 표는 매우 분명합니다.

각 3 바이트는 3 x 8 = 24 비트를 포함합니다.

이 24 비트는 Base64 인코딩에서 4 개의 ASCII 문자로 인코딩됩니다. 즉, 각 ASCII 문자는 6 비트의 데이터를 전달합니다.

2^6은 64이므로 테이블을 사용하여 각 6 비트를 ASCII 문자로 매핑 할 수 있습니다. enter image description here

2

그것은 첫째, 종이에 수학을 위해 64

기초 진수 숫자를 변환하는 기본 256에서 base conversion의 특정 경우입니다. 여기에 나는 두 가지를 모두 변환했다 :

   c    e    m 
       99 * 256²  101 * 256¹  109 * 256° 
       6488064   25856   109   => sum = 6514029 

y    2    v    t 
24 * 64³  54 * 64²  21 * 64¹  45 * 64° 
6291456  221184   1344   45   => sum = 6514029 

OK, 이것도 실제로 같은 숫자임을 의미한다.

그런 다음 10 진수 (6514029)보다 작거나 같은 64의 가장 큰 힘을 십진법에서 다른 기본 (64 진법 등)으로 변환합니다. 그 힘은 = 262144. 64³가 262,144분의 6,514,029 이것은 64 기수 번호의 첫번째 자리는 실제로 y 인 25 일 (우리는 0부터 카운트 시작) 될 것이라는 것을 의미

6514029/262133 = 24, remainder = 6514029 - 262133 * 24 = 222573 

주는 정수 나누기를하고 .

나머지를 현재 십진수로 계속하면 나머지 숫자가 생성됩니다. 이 과정을 통해 임의의 기준에있는 숫자를 다른 기준으로 변환 할 수 있습니다.