解决Base64字符串出现不合法字符的情况

1.base64编码使用的合法字符类型如下:

  • 大写字母 A 到 Z
  • 小写字母 a 到 z
  • 数字 0 到 9
  • 加号(+)
  • 斜杠(/)
  • 等号(=)

其中,等号(=)通常用作 Base64 编码的填充字符,用于补全最后一个编码块的长度,使其长度为 4 的倍数。在 Base64 编码中,等号(=)最多出现两个,分别用于补全最后一个编码块的 1 或 2 个字节

 2.假如有下面这样一个base64编码的字符串

String bas = "/9j/4AAQSkZJRgABAgAAAQABA*^AD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofH"

其中出现了不符合base64编码规则的字符。

可以使用 replaceAll(String regex,String replacement) 方法来去除不合法的字符。

    public String replaceAll(String regex, String replacement) {
        return Pattern.compile(regex).matcher(this).replaceAll(replacement);
    }

 3.参数说明

  • regex:一个正则表达式,用于匹配需要替换的部分。
  • replacement:一个字符串,用于替换匹配的部分。

该方法返回一个新的字符串,其中所有匹配正则表达式的部分都被替换为指定的字符串。

直接使用  bas来调用它

bas = bas.replaceAll("[^A-Za-z0-9+/=]", "");

该正则表达式表示:匹配不在 A-Za-z0-9+/= 范围内的其他所有字符

这样就将base64编码的字符串中不合法的字符全部去除了!!

希望以上内容对您有所帮助。

相关推荐

  1. 解决Base64字符串出现合法字符情况

    2023-12-09 14:04:01       42 阅读
  2. Hive数据库base64解密字段字符串

    2023-12-09 14:04:01       9 阅读
  3. 【PHP】判断字符串是否是有效base64编码

    2023-12-09 14:04:01       36 阅读
  4. js实现base64字符串

    2023-12-09 14:04:01       19 阅读
  5. openssl3.2 - exp - 用base64字符串作为配置项

    2023-12-09 14:04:01       14 阅读
  6. 将html字符串base64图片转换成file并上传

    2023-12-09 14:04:01       34 阅读
  7. 如何在前端展示后端返回pdf Base64格式字符串

    2023-12-09 14:04:01       11 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-09 14:04:01       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-09 14:04:01       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-09 14:04:01       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-09 14:04:01       18 阅读

热门阅读

  1. SpringBoot集成WebSocket

    2023-12-09 14:04:01       45 阅读
  2. 【深入剖析K8s】第四章 K8S集群搭建与配置

    2023-12-09 14:04:01       41 阅读
  3. ubuntu18.04安装opencv-4.5.5+opencv_contrib-4.5.5

    2023-12-09 14:04:01       41 阅读
  4. Stream 流

    2023-12-09 14:04:01       40 阅读
  5. 系统优化(安全,限流,数据存储)

    2023-12-09 14:04:01       36 阅读
  6. Linux---计划任务

    2023-12-09 14:04:01       29 阅读