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