Scala解码base64编码的URL提示Last unit does not have enough valid bits

问题描述
  1. 开始使用Base64.getMimeDecoder().decode(base_url).map(_.toChar).mkString去解码,部分数据也提示如题的错误
  2. 然后尝试使用Base64.getUrlDecoder().decode(base_url).map(_.toChar).mkString,会提示decode不属于getUrlDecoder
原因
  1. 原因应该是编码后的URL长度不符合要求(要求长度是4的倍数),导致的这个问题
解决
  1. 开始看到了这个,还以为这个bug没解决呢,后来想想不可能,这么容易改的,早应该有人改掉了,继续搜
  2. 看见了这个,遂尝试使用下面代码,最终解决了问题:
import java.util.Base64

val decoder = Base64.getUrlDecoder();
var url = new String(decoder.decode(base_url))
参考
posted @ 2018-01-25 16:52  wswang  阅读(19350)  评论(0编辑  收藏  举报