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ジャンクを除き、正しく書き込まれますこれ使えなくxmlファイルをレンダリングする、ファイルの先頭に表示される文字:
たびに、それは別の12の文字ですが、各作成されたファイルは、それらを持っている:(
調査の結果、これはフォーマットエンコード関連であり、これらの文字がバイトオーダーマーク(BOM)を構成する可能性があることを理解しています。
これらの文字を削除するにはどうすればよいですか?
ヘルプは高く評価されています。
@ YowE3Kありがとうございます。しかし、このケースでは 'decodeBase64'はファイルに書き込まれるByte文字列であり、文字を省略できるテキスト文字列ではないため実際には機能しません。 – CaptainABC
FWIW - 私はbase64エンコーディングを読み込み、 'btArr = MyFoundString'を' btArr = "QUJD" 'に置き換えてコードを実行したところ、' ABC "という3文字を正しく書きました)。これは、出力ファイルに12文字を生成する 'MyFoundString'の先頭に8文字あることを意味しています。 – YowE3K
私は最後のコメントを読んだだけですが、12文字を生成する16文字を読みます。 (タイプ情報またはサイズ情報の2×8バイトワード、または1×16バイトワードの可能性があります) – YowE3K