2017-04-27 203 views
0

我希望我問的是正確的問題,但如果不是,我想澄清我想要做的事情。如何使用Excel/VBA將字符串壓縮/解壓縮爲32個字符的字母數字字符串?

我想要一串字母文本並將其轉換爲32個字符的字母數字字符串文本。然後,我想將32個字符的字母數字字符串轉換回原始文本。我只關心縮短長度。我不在乎安全。我不關心保持原始字符串的區分大小寫。

這樣的事情甚至可能發生,或者我試圖用簡潔的空氣創建數據字節?

+0

你能給一個輸入的例子,以及期望的32個字符的字符串輸出嗎?你有什麼嘗試? – BruceWayne

+0

有許多方法可以壓縮字母文本,但是有多少壓縮是可能的。這取決於字母文本的長度(包括空格在內的總共多少個字符)以及諸如此類的東西:是否會同時存在大寫字母和小寫字符?會有標點符號嗎?我們是在說英文字符,還是其他語言或多種語言?請更具體地說明你想完成什麼。 –

+1

http://stackoverflow.com/questions/1138345/an-efficient-compression-algorithm-for-short-text-strings –

回答

0

在62位(62個不同的字符)中,32個字符的字符串可以表示62^32個不同的值,出現在約3.7922554e + 57。

長度爲39的28個字符(A-Z加空格和句點)的原始字母表中的任意字符串可以是2.7489271e + 56個不同的模式中的任意一個。如果長度增加到40個字符,則有7.6969959e + 57種不同的模式。

這是什麼意思:您可以存儲的理論最大長度任意字符串是39個字符。實際上,這幾乎肯定會少於這個數字。請注意,您在註釋中提供的示例字符串長度爲55個字符。

這是一個任意字符串。壓縮算法通常會查找可以進一步壓縮的模式。但這取決於被壓縮的字符串的性質。