首页 > 代码库 > Android Base64 URI 编解码bad base-64异常处理
Android Base64 URI 编解码bad base-64异常处理
这篇随笔介绍一个常用的Base64对URI编解码时不容易发现的异常状况。
Android使用NanoHTTPD作为HTTP服务器对外提供HTTP数据流传输的应用里,用Base64对一个资源进行了编码,如下(调试截图):
资源:/storage/emulated/0/Movies/The Mountain.mp4
Base64编码后:L3N0b3JhZ2UvZW11bGF0ZWQvMC9Nb3ZpZXMvVGhlIE1vdW50YWluLm1wNA==
此时该资源的链接是这样的:http://xxxxxxxxxxxx/L3N0b3JhZ2UvZW11bGF0ZWQvMC9Nb3ZpZXMvVGhlIE1vdW50YWluLm1wNA==
当一个外部请求设备请求该资源时,传来的URI如下
/L3N0b3JhZ2UvZW11bGF0ZWQvMC9Nb3ZpZXMvVGhlIE1vdW50YWluLm1wNA==
即比原始编码后的URI前面多一个"/",如果不做任何处理这个URI"/L3N0b3JhZ2UvZW11bGF0ZWQvMC9Nb3ZpZXMvVGhlIE1vdW50YWluLm1wNA=="用Base64解码即发生bad-base64异常,判断首字符为"/"时去掉即解决。
Android Base64 URI 编解码bad base-64异常处理
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。