简体   繁体   English

将 Base64 字符串转换为字符串数组

[英]Convert Base64 String to String Array

I am using request.getParameter and getting this value:我正在使用 request.getParameter 并获取此值:

[
  "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAA0NDQ0ODQ4QEA4UFhMWFB4bGRkbHi0gIiAiIC1EKjIqKjIqRDxJOzc7STxsVUtLVWx9aWNpfZeHh5e+tb75+f8BDQ0NDQ4NDhAQDhQWExYUHhsZGRseLSAiICIgLUQqMioqMipEPEk7NztJPGxVS0tVbH1pY2l9l4eHl761vvn5///AABEIBJgHKAMBIgACEQEDEQH/xACAAAEBAAMBAQEAAAAAAAAAAAAAAQIDBQQGBxABAAICAQIGAgEEAwEAAwEBAAECAxEEEiEFExQxQVEVIjIjUmFxM0KBJDRigkNEAQEBAQEBAAAAAAAAAAAAAAAAAQIDBBEBAAIDAQACAwEBAQAAAAAAAAERAhITUQMhMUFhIjJC/9oADAMBAAIRAxEAPwDYxmWFrREPPbKwN1sjyXvNlm20RWrpj6WKx9NuliBSGaRDKATohl0x9KygE0MgGHTHyTWPpmmgSKx9M4WAGMxuEisNiAw6I+liumSTIBpNwnUDLpj6NMYsz3sFiGWkhQYTWGUVDcAaRdgGjULokGOmUGlBU1CgjHREMlATpUUYdMfSxCqBCLtAYzVOiIZMtAwZmlBhrZ0wy0AnTB2hlBMA1ztrmky9GgV5a8eN7lviIrHaGbXedR2Bj1E7lrx1tM7l6dAx6YNM9GgTSqCJqDUKKJpQBF0KDHR2hkxmAVJhQGOliqgIq6AY6NQyUGOhUBTSKBoUBDQoJpNM0BDTJAY6TTKCYBgy0ul0DDRpnpdAw0rLRoGBpnpNAxVdEQCiroGEwsQugAlQGOl0ugEVRARkAxUZAhpVUTQqghpQE0aUTvs3ICJG2cADLsTMAIwtLGIsA0yiJXQAsQAIEAC7UAXTZWsQAjZoBUAAf/2Q==",
  "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAA0NDQ0ODQ4QEA4UFhMWFB4bGRkbHi0gIiAiIC1EKjIqKjIqRDxJOzc7STxsVUtLVWx9aWNpfZeHh5e+tb75+f8BDQ0NDQ4NDhAQDhQWExYUHhsZGRseLSAiICIgLUQqMioqMipEPEk7NztJPGxVS0tVbH1pY2l9l4eHl761vvn5///AABEIBTQIWAMBIgACEQEDEQH/xACFAAEBAAMBAQEAAAAAAAAAAAAAAQIEBQMGBxABAAICAQMDAwMEAgIDAQADAAECAxEEBRIhEzFRFCJBFTJSI0JhcTNTJENygZFiJTShAQEBAQEBAAAAAAAAAAAAAAAAAQIDBBEBAQACAgIDAQEBAQEBAAAAAAECERITIVEDMUFhIjIjgVL/2gAMAwEAAhEDEQA/ANoE2yKbY7QGUyIbBWM31+WFrPGbbQes5YhhOTby0yiAXcykKaFDamtgppPMLACKRAGliFAQUBBkAw0x7XokgkQukiWQEQoAmiIUgGSaUBGSKKAoIKRAAGgUFBIjTIAVJUBF0KDGUhmAKABCgCgApEAAugQU0oMdCroE0mmWgGOjTNNAkKABpQECQEVPO1BBTQMVhQAABJZAMdGlUGOjTIBiqgIMkFY6TTMBjo0yAY6XSgJoUBBUkE15VYgBEirJRGOhkAxVSQYqKAACLBCgKADGWQCKAAKCKIAAAACCgAQoIKAgqAIqgmlEBQgAFARRQEBQAAABFF0DFQAVFBBRBBQEFFEUAAAE0oAAgAAigAAAKAgoDDbMAAAQXSAKAACgooICgIqAAACoAAAaUANAAAAAAAAigMZ2RKmgURQAAUABFQFAAAAAAABAUEFQBjMvLJaYidQ5mbPyv7KSuh19sbX1D5+2fqH8HjOXqF/7TVH0dcm3p3Q+exz1HX7Wzjx8+0+TVHZ2yamPHn/us24g0KKAhJLU5Fcto1STSNjug7nBy4edvxNnj6nMp+JB9J3bY98fL5q/J5cxqImGOSOZXWrzPgH0/ey7ny2GedN/O5h3cFM3ibmhvwEKgmmMs01CKAACiGwQUAAiQBQAAAQAFABFABQBEgAVABYUAABFAUAAAAAACAAAAkAAAAABAAAAYV/dIA9AAAAVAAAAAAQBVQAAEESQFIAB/9k="
]

How do I convert it to array?如何将其转换为数组?

When I use request.getParameterValues("jsondata");当我使用request.getParameterValues("jsondata"); I get this value [Ljava.lang.String;@8892fd8 , which is not expected.我得到这个值[Ljava.lang.String;@8892fd8 ,这不是预期的。

The jsondata value is JSON text. jsondata值是 JSON 文本。 It starts with [ , which means it's a JSON array.它以[开头,这意味着它是一个 JSON 数组。

To process it, you should use a JSON parser.要处理它,您应该使用 JSON 解析器。 See How to parse JSON in Java .请参阅如何在 Java 中解析 JSON

Once you have parsed it, you should have a String[] or a List<String> , with 2 values.一旦你解析了它,你应该有一个String[]或一个List<String> ,有 2 个值。

Both values start with data:image/jpeg;base64, followed by Base-64 encoded binary data (JPEG image).两个值都以data:image/jpeg;base64,开头data:image/jpeg;base64,后跟 Base-64 编码的二进制数据(JPEG 图像)。

Assuming you have Java 8 or later, use theBase64 class to decode into a byte[] .假设您有 Java 8 或更高版本,请使用Base64类解码为byte[]

You now have your 2 JPEG images, in the form of 2 byte arrays.您现在拥有 2 个 JPEG 图像,采用 2 个字节数组的形式。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM