2011-02-24 13 views
12

¿Es posible que una cadena generada a partir de una codificación base64 tenga un espacio ('') en ella?¿Es posible un espacio en una codificación base64?

+0

posible duplicado de [¿Puede una cadena base64 contener espacios en blanco?] (Http://stackoverflow.com/questions/3092019/can-a-base64-encoded- string-contains-whitespace) – dan04

Respuesta

3

La salida de codificación de Base64 nunca incluirá un espacio. FooBabel tiene una herramienta de codificación en línea agradable (gratuita) basada en Apache Codec, donde puede jugar con opciones como saltos de línea y terminadores de línea - foobabel base64 codec

0

Me encontré con esta pregunta al depurar el código vbscript.

Curiosamente, MSFT codifica de esta manera, en lugar de codificar con un +, usará un ''. El MIME se puede arreglar con s// +/g y funcionará con/usr/bin/base64.

Tenga en cuenta que este es un patrón bien publicitado para codificar un archivo en vbscript, y si se sigue al revés, MSFT se ocupará de los espacios y recuperará el mismo archivo. (Simplemente no va a ser interoperables en otro lugar)

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 
Cuestiones relacionadas