2011-02-24 60 views
12

是否有可能從base64編碼生成的字符串中有一個空格('')?base64編碼中可能有空間嗎?

+0

可能重複[base64編碼字符串可以包含空格?](http://stackoverflow.com/questions/3092019/can-a-base64-encoded-字符串包含空白) – dan04 2011-02-25 15:28:24

回答

3

Base64編碼輸出將永遠不會包含空格。 FooBabel有一個很好的(免費),在線編碼基於Apache編解碼器,在那裏你可以像換行和行結束選項播放工具 - foobabel base64 codec

0

調試VBScript代碼,當我遇到這個問題就來了。

奇怪的MSFT編碼是這樣的,而不是用+編碼它會使用''。 MIME可以用s// +/g修復,它可以和/ usr/bin/base64一起使用。

請注意,這是一個廣爲宣傳的模式,用於在vbscript中對文件進行編碼,如果後面緊跟其後,則MSFT將處理空格並放回相同的文件。 (它只是不會是可互操作的其他地方)

Function b64(fqfn) 
    Dim inputStream: Set inputStream = CreateObject("ADODB.Stream") 
    inputStream.Open 
    inputStream.Type = 1 
    inputStream.LoadFromFile(fqfn) 

    Dim bytes: bytes = inputStream.Read 

    Dim dom: Set dom = CreateObject("Microsoft.XMLDOM") 
    Dim elem: Set elem = dom.createElement("tmp") 
    elem.dataType = "bin.base64" 
    elem.nodeTypedValue = bytes 
    b64 = elem.text 
End Function