0
我使用下面的代码来写,从解码Base64编码字符串的XML文件:从XML文件中删除垃圾字符(可能是BOM) - VBA
'More Code Above
btArr = MyFoundString
Set DM = CreateObject("Microsoft.XMLDOM")
Set EL = DM.createElement("tmp")
EL.DataType = "bin.base64"
EL.Text = CStr(btArr)
decodeBase64 = EL.nodeTypedValue
XMLFileName = FLDR_NAME & XMLFileNameF
Open XMLFileName For Binary Access Write As #1
Put #1, 1, decodeBase64
Close #1
该文件被正确地写入,除了12垃圾
每次它是一个不同的12个字符,但每个创建的文件有他们:(
:出现在文件的开头,从而使XML文件不可用字符经过研究,我明白这可能是格式编码相关的,并且这些字符可能构成字节顺序标记(BOM)。
如何去除这些字符?
帮助受到高度赞赏。
@ YowE3K谢谢,但这不会真的起作用,因为在这种情况下,'decodeBase64'是写入文件的字节字符串,并且它不是可以从中忽略字符的文本字符串。 – CaptainABC
FWIW - 我刚刚读了base64编码,并用'btArr =“QUJD”'代替了'btArr = MyFoundString'的代码,并正确地将3个字符''ABC''写入文件中(前面没有东西)。所以这似乎暗示你在'MyFoundString'的开头有8个字符,它会在输出文件中生成12个字符。 – YowE3K
糟糕 - 刚刚重读我的最后一条评论 - 应读取16个字符生成12个字符。 (可能是2 x 8字节的字,或1 x 16字节的字,类型信息或尺寸信息?) – YowE3K