得意犹堪夸世俗,诏黄新湿字如鸦。这篇文章主要讲述Android Base64 URI 编解码bad base-64异常处理相关的知识,希望能为你提供帮助。
这篇随笔介绍一个常用的Base64对URI编解码时不容易发现的异常状况。
android使用NanoHTTPD作为HTTP服务器对外提供HTTP数据流传输的应用里,用Base64对一个资源进行了编码,如下(调试截图):
资源:/storage/emulated/0/Movies/The Mountain.mp4
【Android Base64 URI 编解码bad base-64异常处理】Base64编码后:L3N0b3JhZ2UvZW11bGF0ZWQvMC9Nb3ZpZXMvVGhlIE1vdW50YWluLm1wNA==
文章图片
此时该资源的链接是这样的:http://xxxxxxxxxxxx/L3N0b3JhZ2UvZW11bGF0ZWQvMC9Nb3ZpZXMvVGhlIE1vdW50YWluLm1wNA==
当一个外部请求设备请求该资源时,传来的URI如下
文章图片
/L3N0b3JhZ2UvZW11bGF0ZWQvMC9Nb3ZpZXMvVGhlIE1vdW50YWluLm1wNA==
即比原始编码后的URI前面多一个"/",如果不做任何处理这个URI"/L3N0b3JhZ2UvZW11bGF0ZWQvMC9Nb3ZpZXMvVGhlIE1vdW50YWluLm1wNA=="用Base64解码即发生bad-base64异常,判断首字符为"/"时去掉即解决。
推荐阅读
- web App 跨平台开发Mac环境配置
- Delphi春天将来临,Android遇到XE7我也是醉了,Hello World
- Android Studio —— java.lang.VerifyError: Verifier rejected class 问题解决
- IBM AppScan官方帮助文档错别字缺陷,IBM的測试人员也太粗心了吧
- Android属性动画(动画流控制)
- android studio中文乱码问题
- 在NETAPP CIFS文件夹中强制修改权限的方法
- 在Android中实现阴影效果
- Android 高版本API方法在低版本系统上的兼容性处理