Классическое кодирование ASP Base64 и разрывы строк - PullRequest
0 голосов
/ 28 января 2019

Я использовал функцию кодирования base64 из этого ответа (код ниже)

https://stackoverflow.com/a/506992/510296

Я заметил, что это обтекание строк вывода после 72-го символа (что вызываетпроблемы, когда я пытаюсь передать эту закодированную строку в eBay API).

Я могу достаточно легко удалить разрывы строк с помощью replace(base64string, vblf, ""), но хотел спросить, есть ли правильный способ предотвратить разрывы строк в выходных данных.

Function Base64Encode(sText)
    Dim oXML, oNode
    Set oXML = CreateObject("Msxml2.DOMDocument.3.0")
    Set oNode = oXML.CreateElement("base64")
    oNode.dataType = "bin.base64"
    oNode.nodeTypedValue =Stream_StringToBinary(sText)
    Base64Encode = oNode.text
    Set oNode = Nothing
    Set oXML = Nothing
End Function

Function Stream_StringToBinary(Text)
    Const adTypeText = 2
    Const adTypeBinary = 1

    'Create Stream object
    Dim BinaryStream 'As New Stream
    Set BinaryStream = CreateObject("ADODB.Stream")

    'Specify stream type - we want To save text/string data.
    BinaryStream.Type = adTypeText

    'Specify charset For the source text (unicode) data.
    BinaryStream.CharSet = "us-ascii"

    'Open the stream And write text/string data To the object
    BinaryStream.Open
    BinaryStream.WriteText Text

    'Change stream type To binary
    BinaryStream.Position = 0
    BinaryStream.Type = adTypeBinary

    'Ignore first two bytes - sign of
    BinaryStream.Position = 0

    'Open the stream And get binary data from the object
    Stream_StringToBinary = BinaryStream.Read

    Set BinaryStream = Nothing
End Function
...