Scala解码base64编码的URL提示Last unit does not have enough valid bits
2018-01-25 16:52
2987 查看
问题描述
开始使用
然后尝试使用
原因
原因应该是编码后的URL长度不符合要求(要求长度是4的倍数),导致的这个问题
解决
开始看到了这个,还以为这个bug没解决呢,后来想想不可能,这么容易改的,早应该有人改掉了,继续搜
看见了这个,遂尝试使用下面代码,最终解决了问题:
参考
https://bugs.openjdk.java.net/browse/JDK-8162339
http://farenda.com/java/java-base64-url/
https://stackoverflow.com/questions/5641303/base64url-in-java
开始使用
Base64.getMimeDecoder().decode(base_url).map(_.toChar).mkString去解码,部分数据也提示如题的错误
然后尝试使用
Base64.getUrlDecoder().decode(base_url).map(_.toChar).mkString,会提示
decode不属于
getUrlDecoder
原因
原因应该是编码后的URL长度不符合要求(要求长度是4的倍数),导致的这个问题
解决
开始看到了这个,还以为这个bug没解决呢,后来想想不可能,这么容易改的,早应该有人改掉了,继续搜
看见了这个,遂尝试使用下面代码,最终解决了问题:
import java.util.Base64 val decoder = Base64.getUrlDecoder(); var url = new String(decoder.decode(base_url))
参考
https://bugs.openjdk.java.net/browse/JDK-8162339
http://farenda.com/java/java-base64-url/
https://stackoverflow.com/questions/5641303/base64url-in-java
相关文章推荐
- gpexpand error:Do not have enough valid segments to start the array.
- this database does not have a valid owner 的解决办法--【叶子】
- 启动WCF服务时出现WCF Error: HTTP could not register URL http://+:xxxx/... Your process does not have access rights to this namespace
- python中Base64编码和解码:TypeError: a bytes-like object is required, not 'str'
- URL安全的字符串base64编码和解码
- The form bound to the class does not have a valid binding for the root component
- vss服务器突然连接不上了,提示说does not contain a valid sourcesafe database(srcsafe.ini)
- 真机调试无法安装 The application does not have a valid signature.
- PHP安全的URL字符串base64编码和解码
- xcode 打包提交appstore 提示 版本号低于线上版本号 及 The application you have selected does not exist
- Database diagram support objects cannot be installed because this database does not have a valid owner.
- HTTP could not register URL http://+:****/WCFService/. Your process does not have access rights to this namespace
- eclipse配置weblogic时,提示does not contain a valid WebLogic Server install
- C#转换Base64编码,解码的URL
- The application does not have a valid signature
- Mac Os, Android Studio 升级提示:Android Studio does not have write access to /Applications/Android Studi
- 执行存储过程提示 user does not have access to metadata required to determine stored procedure解决方案
- foxmail发送邮件时提示"A message does not have receiver"的解决办法
- /tmp does not have enough disk space解决
- PHP安全的URL字符串base64编码和解码