解码Base 64 In Groovy Returns乱码
Decoding Base 64 In Groovy Returns Garbled Characters
我正在使用 API,其中 returns 我想从中解析和收集数据的 Base64 编码文件。我在解码 Base64 时遇到问题,因为它返回的是乱码。我的代码如下。
Base64 decoder = new Base64()
def jsonSlurper = new JsonSlurper()
def json = jsonSlurper.parseText(Requests.getInventory(app).toString())
String stockB64 = json.getAt("stock")
byte[] decoded = decoder.decode(stockB64)
println(new String(decoded, "US-ASCII"))
我也试过println(new String(decoded, "UTF-8"))
和这个returns同样的乱码输出。我粘贴了一个示例输出以供参考。
� ���v���
��W`�C�:�f��y�z��A��%J,S���}qF88D q )��'�C�c�X��������+n!��`nn���.��:�g����[��)��f^���c�VK��X�W_����������?4��L���D�������i�9|�X��������\���L�V���gY-K�^����
��b�����~s��;����g���\�ie�Ki}_������
我做错了什么?
您不需要 Base64
class 无论您从哪里拿到它。您可以简单地执行 stockB64.decodeBase64()
来获取 decoded
字节数组。您确定您拥有的是经过编码的实际文本吗?通常 base64 编码意味着这是一些像图像一样的二进制文件。如果它是文本,你可以简单地将它作为字符串放在 json 中。也许将生成的字节数组保存到文件中,然后按内容调查文件类型。
我正在使用 API,其中 returns 我想从中解析和收集数据的 Base64 编码文件。我在解码 Base64 时遇到问题,因为它返回的是乱码。我的代码如下。
Base64 decoder = new Base64()
def jsonSlurper = new JsonSlurper()
def json = jsonSlurper.parseText(Requests.getInventory(app).toString())
String stockB64 = json.getAt("stock")
byte[] decoded = decoder.decode(stockB64)
println(new String(decoded, "US-ASCII"))
我也试过println(new String(decoded, "UTF-8"))
和这个returns同样的乱码输出。我粘贴了一个示例输出以供参考。
� ���v���
��W`�C�:�f��y�z��A��%J,S���}qF88D q )��'�C�c�X��������+n!��`nn���.��:�g����[��)��f^���c�VK��X�W_����������?4��L���D�������i�9|�X��������\���L�V���gY-K�^����
��b�����~s��;����g���\�ie�Ki}_������
我做错了什么?
您不需要 Base64
class 无论您从哪里拿到它。您可以简单地执行 stockB64.decodeBase64()
来获取 decoded
字节数组。您确定您拥有的是经过编码的实际文本吗?通常 base64 编码意味着这是一些像图像一样的二进制文件。如果它是文本,你可以简单地将它作为字符串放在 json 中。也许将生成的字节数组保存到文件中,然后按内容调查文件类型。