JDK1.8之前Base64是第三方的,1.8已经纳入JDK中,JAVA就是这么谦虚。

话不多说,很多人应该遇到过Base64 encode之后再decode出错的问题,问题一般都是由于发起了URL请求造成的。网上很多的解决方案,再次贴出我的解决方案。查看源码可以知道,有很多实例的,错怪了jdk啊,是自己不会用。关键代码片段如下:

    //URL传输final static Base64.Decoder decoder = Base64.getUrlDecoder();final static Base64.Encoder encoder = Base64.getUrlEncoder();

完成的工具类也附上:

package com.xxx.util;//自己改下import java.util.Base64;public class Base64Util {//URL传输final static Base64.Decoder decoder = Base64.getUrlDecoder();final static Base64.Encoder encoder = Base64.getUrlEncoder();/*** 编码* @param encodText 待编码字符串* @return* @throws Exception*/public static String encode(String encodText) throws Exception {final byte[] textByte = encodText.getBytes("UTF-8");return new String(encoder.encode(textByte),"UTF-8");}/*** 解码* @param decodeText 待解码字符串* @return* @throws Exception*/public static String decode(String decodeText) throws Exception {return new String(decoder.decode(decodeText.getBytes("UTF-8")), "UTF-8");}}

Base64 + 变为 空格 问题分析相关推荐

  1. 关于Linux系统中文件名中带有空格问题分析

    关于Linux中文件名中带有空格问题分析 因为有的时候,文件或目录带有空格总是操作不便.下面的方法在cp,mv等命令中都可以使用. 方法一:使用shell脚本即linux命令符执行,需要将带有空格的文 ...

  2. base64出现空格的问题

    如:将一串参数做了base64后直接作为url的一部分发送出去了.   要知道base64的算法有pad,crcf的控制选项,而又很凑巧,发使用的是none,即pading部分带有crcf, 这样一个 ...

  3. 为什么传值时加号变成了空格_URL的参数中有加号传值变为空格的问题(URL特殊字符)...

    1.URL特殊字符需转义 2.空格换成加号(+) 3.正斜杠(/)分隔目录和子目录 4.问号(?)分隔URL和查询 5.百分号(%)制定特殊字符 6.#号指定书签 7.&号分隔参数 转义字符的 ...

  4. linux 删除变为空格

    遇到问题: 在下载某些依赖或者安装包后发现终端乱序,输入命令时按退格键不能回退反而向后加空格:并且某些快捷键无法使用等问题: 原因: 终端依赖的包ncurses-base被删除:安装后需要重新输入ba ...

  5. sun.misc.BASE64Encoder加密jdk1.8中Base64解密报错分析

    sun.misc.BASE64Encoder一行不能超过76字符,超过则添加回车换行符. 源码 public void encode(InputStream var1, OutputStream va ...

  6. MVC URL参数传递+变为空格解决方法

    Url.Encode(参数)   将URL字符串中的特殊字符编码为字符实体等效项 转载于:https://www.cnblogs.com/mybk2014/p/4610772.html

  7. php +号在传输参数的过程中被变为空格了_编程难学?web相关知识,跟着淼哥学php全栈之路6...

    发布了几天文章,小伙伴留言说"快点更新啊".感谢小伙伴的关注,可毕竟小编是纯手写编辑文章,不是复制粘贴,每天更新一篇文章,都会写到深夜,请理解. 上次我们讲解了计算机相互连接的原理 ...

  8. java +号变空格_base64码通过http传输 +号变 空格 问题解决

    通过七牛云base64上传图片,通过官方示例上传成功后,根据示例改了一个controller. 通过前端往后端传base64码形式进行测试.死活不通过,七牛报400. 仔细排查后发现,示例转换的bas ...

  9. 新手该怎样学习网站分析?

    其实一直以来总是有朋友问我:我是新手,我很喜欢网站分析,但我没有经验,我必须具备什么样的基础,又该如何开始入手学习呢? 在回答这个问题之前,我想首先问下面的这个问题:网站分析最重要的是什么? 网站分析 ...

最新文章

  1. wince mysql吗_wince的数据库操作
  2. EOS账户系统(2)账户和钱包
  3. 马逊s3云存储接口_利用 S3tests 测试 S3 接口兼容性
  4. java高并发(二十一)高并发场景下缓存常见问题
  5. Ubuntu 16设置固定IP和DNS
  6. Cannot launch SimulationPipeline in local Eclipse
  7. jquery表单验证源码
  8. python 遍历字典嵌套_Python 字典嵌套循环遍历
  9. 11.LNMP基础架构
  10. 【NLP】揭秘马尔可夫模型神秘面纱系列文章(四)
  11. 百科不全书之Python进阶
  12. 时光轴全新导购网站购物新体验
  13. android融云的几种参数,Android 集成融云
  14. 如何把root登陆的shell改为csh?
  15. thinkPHP生成微信支付平台证书
  16. word图文混排复制到TinyMCE图片不显示
  17. OpenNI2的安装教程
  18. java公众号上传素材及发送图文消息实现
  19. 本特利Bently延伸电缆安装注意事项说明
  20. java中SimpleDateFormat线程安全问题及解决方案

热门文章

  1. 双稳态继电器工作原理图_三招带你分清继电器与接触器
  2. html嵌入audio格式不支持,html5中audio支持音频格式的解决方法
  3. https://www.npmjs.com/package/lifecycle-webpack-plugin
  4. 2018.09.28 hdu5434 Peace small elephant(状压dp+矩阵快速幂)
  5. day14——内置函数
  6. BZOJ 4242 水壶(BFS建图+最小生成树+树上倍增)
  7. DOM克隆操作(深克隆/浅克隆)
  8. C提高_day03_作业第三题
  9. Badboy录制测试脚本
  10. SilverLight是什么?(来自Csdn)