1

如何可靠地将 64 位数据从 XML 文件获取到 byte[],然后将其与字符串进行比较?以下代码失败,因为空格似乎导致断言失败。目标是断言通过。

请注意,重要的是我们在某些时候以 byte[] 的形式使用它,但不是通过字符串进行比较

<Contents>VGVzdGluZyBURSBzZXNzaW9uIGNvbnRhaW5pbmcgQ29tcGxldGUgUGVyc29uIEEgYW5kIENvbXBs
                ZXRlIEVxdWlwbWVudCBCLg0KDQpUZXN0IFRlc3QNCg0KUmVmZXJlbmNlcyBDb21wbGV0ZSBQbGFj
                ZSBB
            </Contents>

byte[] byteData = document.Contents.text()
assert 'VGVzdGluZyBURSBzZXNzaW9uIGNvbnRhaW5pbmcgQ29tcGxldGUgUGVyc29uIEEgYW5kIENvbXBs'+
                'ZXRlIEVxdWlwbWVudCBCLg0KDQpUZXN0IFRlc3QNCg0KUmVmZXJlbmNlcyBDb21wbGV0ZSBQbGFj'+
                'ZSBB' == new String(byteData)
4

1 回答 1

1

Base 64 数据是文本到 ASCII 的特殊编码,以对 URL 友好(历史上)

编辑感谢下面的评论,实际上 base64 是对数据进行编码以通过电子邮件发送

要从数据中提取文本,请执行以下操作:

new String(
'VGVzdGluZyBURSBzZXNzaW9uIGNvbnRhaW5pbmcgQ29tcGxldGUgUGVyc29uIEEgYW5kIENvbXBsZXRlIEVxdWlwbWVudCBCLg0KDQpUZXN0IFRlc3QNCg0KUmVmZXJlbmNlcyBDb21wbGV0ZSBQbGFjZSBB')
.decodeBase64()
)

结果以“包含完整人员 A 和完整设备 B 的会话”开头。

来自http://mrhaki.blogspot.fr/2009/11/groovy-goodness-base64-encoding.html

于 2012-05-11T06:35:19.760 回答