我收到包含这样的二进制数据的 json 数据,我想将该数据转换为 java 中的 byte[] 但我不知道如何?
"payload": "7V1bcxs3ln6frfdcfvfbghfdX8HSw9Zu1QzzartyhblfdcvberCObjvJpkiJUpmhRI1pKXYeXHRsZLSrCy
5dElN5tfvQaO72TdSoiOS3TH8Yxdffgtg754679513qdfrgvlslsqdeqaepdccngrdzedrtghBD+d++e7v//p80/v96v7h+u72
+z1gfK/39x/+9t391cPTzeP88aE/++Fvvd53n+8+Xd1c/fBm/unqAf+7
N7v65en++vGP3vx2fvPHw/XDdwfpHf5mevhq/vQDcnAAwD+gEPwDF+bDxTv+3UF61d/4eesrfP356uFx"
Run Code Online (Sandbox Code Playgroud)
根据对“二进制”字符串由 ASCII 字母、数字以及“+”和“/”组成的观察,我相当有信心它实际上是Base64 编码的数据。
要将 Base64 解码为 a,byte[]您可以执行以下操作:
String s = "7V1bcxs3ln6...";
byte [] bytes = java.util.Base64.getDecoder().decode(s);
Run Code Online (Sandbox Code Playgroud)
如果输入字符串未正确进行 Base64 编码,则调用decode将抛出异常。IllegalArgumentException
当我使用在线 Base64 解码器解码该特定字符串时,结果难以理解。但这就是我对任意二进制数据“blob”的期望。