2015-10-05 60 views

回答

1

Base 64編碼基本上包括服用的8位字節的流,並將其變換爲6位字符流可以被打印的ASCII字符來表示。

一次取一個字節表示您有一個6位字符,剩餘2位。

取兩個字節(16位)表示您有兩個6位字符,剩下4位。

取3個字節(24位)意味着您有三個字節可以精確分割爲4個字符,而不會留下任何位。

所以字節大小和字符大小的lcm自然就是您需要將輸入拆分的大小。

選擇6位字符是因爲這是可以使用所有值的可打印ascii字符的最大尺寸。如果你升到7位,你將需要非打印字符。

基數32的參數是相似的,但現在您使用的是5位字符,因此8和5的lcm是字大小。此字符大小允許區分大小寫不可打印的字符,6位字符需要區分大小寫字符。

+0

我希望能對LCM功能進行更多的分析。具體而言,爲什麼'lcm(a,b)=(a * b)/ gcd(a,b)'是這個問題的答案(直觀地我們可以計算並看到它是這樣)。但是,我們應該如何從數學上解釋這一點。如果您有任何想法可以分享,我們將不勝感激。 –