webview 转义字符_URLencode 特殊字符 转义 遇上的坑
在项目中遇到一个问题,在webveiw和原生之间进行传值的时候,出现了一些encode的小问题。看起来很简单的问题,实际上却存在不小的坑。
首先说一下目前项目的结构,在一个activity中,webview和原生之间有多种交互。
如图所示

在原生调用webview方法,这种协议已经非常常用了,直接调用loadJS();但是自定义协议这个过程,使用的拦截跳转的方式,按照预定的协议来解析数据,这里面就有一些情况,比如数据中出现了中文,webview会encode这部分内容,这就要求我们对拦截以后的内容进行decode。
见下方代码:
1 privateString decodeUrl(String url) {2 try{3 return URLDecoder.decode(url, "utf-8");4 } catch(UnsupportedEncodingException e) {5 e.printStackTrace();6 }7 return "";8 }
上面这段代码,看上去是很合理的,但是老司机们认真看看,这里面有坑。
首先看一下底层代码的decode。
/***@throwsUnsupportedEncodingException if {@codecharsetName} is not supported.*/
public stat
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
