java - 将 Base64 字符串转换为字符串数组
问题描述
我正在使用 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="
]
如何将其转换为数组?
当我使用时,request.getParameterValues("jsondata");
我得到了这个值 [Ljava.lang.String;@8892fd8
,这是意料之外的。
解决方案
jsondata
值为 JSON 文本。它以 开头[
,这意味着它是一个 JSON 数组。
要处理它,您应该使用 JSON 解析器。请参阅如何在 Java 中解析 JSON。
一旦你解析了它,你应该有 aString[]
或 a List<String>
,有 2 个值。
这两个值都data:image/jpeg;base64,
以 Base-64 编码的二进制数据(JPEG 图像)开头。
假设您有 Java 8 或更高版本,请使用Base64
该类解码为byte[]
.
您现在拥有 2 个 JPEG 图像,采用 2 字节数组的形式。
推荐阅读
- php - 如何使 Laravel 会话数组推送?
- php - 基于 PDO 的查询,标准字符串中有空格在 PHP 中不起作用
- reactjs - 在 bottomTabNavigator 上重新渲染 web 视图
- django - Django 视图在使用用户定义的装饰器检查会话时给出了 Forbidden 错误(CSRF 令牌丢失或不正确。)
- .net - 删除 Migrations 文件夹后的 EntityFramework Core 问题
- javascript - Javascript 新用户 - onchange 在线触发一次
- google-apps-script - 使用我的 Outlook 电子邮件从 Google 表格发送电子邮件
- wso2 - 如何使用 WSO2 身份服务器 5.7 实现 2 因素身份验证的谷歌身份验证器?
- php - Recycler View无法显示mysql数据
- java - Quarkus 中的 SOAP Web 服务因未知 JAXBContext 实现而失败