2011-02-24 95 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