2016-08-08 30 views
0

我正在尋找一種快速的方法來改變基地43字符串(即ASCII 32-126不包括字母)基地95(ASCII 32-126)。這些字符串通常長度爲3-20個字符 - 有沒有人有這個僞代碼?字符串編碼方法:基地43 - >基地95

+0

有人請回答。 – J843136028

+0

你能提一下,你正在談論哪種編程語言? – OldMcDonald

+0

嗯,我實際上使用的是Scratch,它是一種'玩具語言' - 我在其中編寫高級內容以獲得樂趣。它的算術不太好。 (在這裏檢查Scratch:https://scratch.mit.edu) – J843136028

回答

0

我不相信除了首先將base-43字符串解碼爲「大整數」然後將其編碼爲base-95字符串以外,還有別的辦法。

對於包含20個字符的字符串,該中間整數約爲log(43)/ log(2)* 20 = 109位長。

如果你有權訪問大整數數學,這個轉換將很容易實現。如果你可以保持在128位(基數爲43的23個字符),那麼計算速度可以相當快。

+0

事情是,我沒有訪問大整數數學。我正在尋找一種方法來做到這一點,而不需要轉換爲整數,因爲這可能只是需要時間。不管怎麼說,還是要謝謝你。 – J843136028

+0

Scratch有大整數模塊,但它似乎很慢:https://scratch.mit.edu/projects/93580772/這個轉換的問題在於,基數43和95非常不同,所以我沒有認爲有任何捷徑可以用來避免Big Integer數學運算(就像你可以用base 32到base 64一樣)。 –

相關問題