InterSystemsCachéBase64XML解码

时间:2018-05-09 13:06:34

标签: encoding base64 decoding intersystems-cache intersystems

在Intersystem Cache中,我使用

导出一些GLOBAL

$ system.OBJ.Export(“GCL.GLB”,“C:\ GCL.xml”)

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

<Node><Sub>2</Sub>
<DataBase64>AgEDATECAQgBU2luZ2xlBATD+QQEkH4EBCD9BAQcAgIEBQE2RE4CAQIBAgECAQIBYwEJAWFmd2V6
aWcCASoBX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwIBFQFIb2dlIEhv
bmRzdHJhYXQgMTE1EwE3NDEzIENFLCBERVZFTlRFUgIBBQExQVMFATVBQwYBMzhHQg0BNjM4ODEs
MzU4NjM=
</DataBase64>
</Node>

当我在UTF-8中解码base64数据时,我没有得到所有数据,我听说它需要在IBM437中解码但是我仍然错过前3个字段,应该是3个数字,长度为5 < / p>

有人知道哪种编码是正确的,或者我怎么知道我需要哪种编码?

由于

1 个答案:

答案 0 :(得分:1)

我认为这个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")