Encoding 系统间CachéBase64 XML解码

Encoding 系统间CachéBase64 XML解码,encoding,base64,decoding,intersystems-cache,intersystems,Encoding,Base64,Decoding,Intersystems Cache,Intersystems,在系统间缓存中,我使用 $system.OBJ.ExportGCL.GLB,C:\GCL.xml 现在有一个字段是BASE64编码的,例如以下行: <Node><Sub>2</Sub> <DataBase64>AgEDATECAQgBU2luZ2xlBATD+QQEkH4EBCD9BAQcAgIEBQE2RE4CAQIBAgECAQIBYwEJAWFmd2V6 aWcCASoBX19fX19fX19fX19fX19fX19fX19fX19fX19f

在系统间缓存中,我使用

$system.OBJ.ExportGCL.GLB,C:\GCL.xml

现在有一个字段是BASE64编码的,例如以下行:

<Node><Sub>2</Sub>
<DataBase64>AgEDATECAQgBU2luZ2xlBATD+QQEkH4EBCD9BAQcAgIEBQE2RE4CAQIBAgECAQIBYwEJAWFmd2V6
aWcCASoBX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwIBFQFIb2dlIEhv
bmRzdHJhYXQgMTE1EwE3NDEzIENFLCBERVZFTlRFUgIBBQExQVMFATVBQwYBMzhHQg0BNjM4ODEs
MzU4NjM=
</DataBase64>
</Node>
当我在UTF-8中解码base64数据时,我没有得到所有的数据,我听说它需要在IBM437中解码,但是我仍然错过了前3个字段,它们应该是3个长度为5的数字

有人知道哪种编码是正确的,或者我如何看到我需要什么编码


谢谢

我看不出这个Base64有任何问题,你那里有$LB格式的数据

USER>s b64="AgEDATECAQgBU2luZ2xlBATD+QQEkH4EBCD9BAQcAgIEBQE2RE4CAQIBAgECAQIBYwEJAWFmd2V6aWcCASoBX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwIBFQFIb2dlIEhvbmRzdHJhYXQgMTE1EwE3NDEzIENFLCBERVZFTlRFUgIBBQExQVMFATVBQwYBMzhHQg0BNjM4ODEsMzU4NjM="

USER>s data=$system.Encryption.Base64Decode(b64)                                 

USER>zw data                                                                    
data=$lb("","1","","Single",63939,32400,64800,540,0,"6DN","","","","","",$lb("afwezig","","________________________________________","","Hoge Hondstraat 115","7413 CE, DEVENTER",""),"1AS","5AC","38GB","63881,35863")

嗯,使用终端似乎确实有效,但如果我通过在线转换抛出数据,我不会得到LB数据?你知道如何以可读的格式从系统间获取这些LB数据吗。有没有办法停止导出函数以使其成为base64?$lb是一种二进制格式,用另一种语言使其可读非常简单。因为它是二进制的,所以不能停下来用Base64编码,因为xml是一种文本格式。要理解$lb,请在终端中使用此命令。zzdump$lb123345,testI得到了,:根据十六进制字符串的第一个字节长度和第二个字节类型01=text 04=number,我可以读出数据!非常感谢你!!