以开发报表软件FineReport为例,在给报表服务器发送请求之前,对URL或者只对URL里面的参数名字和参数值,进行cjkEncode的编码,该方式兼容了各种不同的字符集,如ISO8859-1、 UTF-8、 GBK、 ENU_JP,尤其对中日韩文的处理采取了统一的方案。
encodeURI 函数对 URI 进行完整的编码
encodeURIComponent 函数假定它的参数是 URI 的一部分(比如协议、主机名、路径或查询字符串)。因此 encodeURIComponent() 函数将转义用于分隔 URI 各个部分的标点符号。
如果 URI 组件中含有分隔符,比如 ? 和 #,则应当使用 encodeURIComponent() 方法分别对各组件进行编码。
所以encodeURIComponent比encodeURI编码的范围更大。
1、如果只是编码字符串,使用escape
2、如果需要编码整个URL,然后需要使用这个URL,使用encodeURl
3、如果需要编码URL中的参数,使用encodeURlComponent
1、string --->base-64转码
2、base64转码的对象只能是字符串,不能对unicode转码
对于汉字,这就要使用window.encodeURIComponent和window.decodeURIComponent