encodeuri

url 中文转码

…衆ロ難τιáo~ 提交于 2020-01-15 21:13:10
escape("撒旦"); 我想, URL 传参中文对于程序员来说,是个很头疼的问题吧。虽然在尽量避免使用中文参数,但总有避免不了的时候。现就自己的经验,总结如下: 1. 将字符串转码: new String( “ xxxxx ” .getBytes("iso-8859-1"),"utf-8") 这种转码方式有很大的弊端,因为它是使用指定的字符集将此 String 编码为 byte 序列,并将结果存储到一个新的 byte 数组中,然后通过使用指定的字符编码将生成的 byte 数组解码,构造一个新的 String 字符串。这种情况就有可能遇到的情况是,不能将一个汉字全部解码完。这样,前边的都能正常显示,但是最后一个字可能是乱码。 所以不建议使用这种方式。 2. 在传参前转码,接收参数后再转码回来。 这种方式有两种: 第一种: 传参前:使用 java.net.URLEncoder.encode("xxxx", “ utf-8 ") , 将中文转为 16 进制字符。 接收参数后: 使用 java.net.URLDncoder.decode("xxxx", “ utf-8") 将 16 进制字符转为中文。 这种方式需要注意的是,在使用 encode 转码后,会出现特殊字符,这时候,就需要将特殊字符替换为相应的 16 进制。因为特殊字符在 url 路径中做为参数传递时,也是乱码。 第二种:

前台js及body内的一些常用写法

[亡魂溺海] 提交于 2020-01-15 07:15:57
js控制文本框输入权限 1 $("#tel").prop("disabled", true);//禁止输入,tel代表input的id 2 $("#tel").prop("disabled", false);//允许输入,tel代表input的id js控制按钮的可用/不可用 1 $('#tel').attr('disabled',true);//使按钮不可用,tel代表按钮的id 2 $('#tel').attr('disabled',false);//恢复按钮 设置文本框宽度:(使用size) 1 <input type='text' size=35 /> js如何阻止a标签刷新当前页面 1 <a href=""></a> //这样不能阻止 2 <a href="javascript:void(0)">跳转</a>//这样可以阻止 js解决url传递中文参数乱码问题:(使用encodeURI) var url = encodeURI(encodeURI("<%=webapp%>/test/test.act?id="+id)); 或者 页面端发出的数据作两次encodeURI 1 //前台js 2 var name="张三"; 3 encodeURI(encodeURI(name)); 4 //后台解码: 5 URLDecoder.decode(name,"UTF-8");

JS的3个编码函数 escape() encodeURI() encodeURIComponent()

不打扰是莪最后的温柔 提交于 2020-01-08 10:48:11
1、escape() escape()是js编码函数中最古老的一个。虽然这个函数现在已经不提倡使用了,但是由于历史原因,很多地方还在使用它,所以有必要先从它讲起。 实际上,escape()不能直接用于URL编码,它的真正作用是返回一个字符的Unicode编码值。比如“春节”的返回结果是%u6625%u8282,也就是说在Unicode字符集中,“春”是第6625个(十六进制)字符,“节”是第8282个(十六进制)字符。 例如: javascript:escape("春节"); //输出 "%u6625%u8282" javascript:escape("hello word"); //输出 "hello%20word" 还有两个地方需要注意。 首先 ,无论网页的原始编码是什么,一旦被Javascript编码,就都变为unicode字符。也就是说,Javascipt函数的输入和输出,默认都是Unicode字符。这一点对下面两个函数也适用。 javascript:escape("\u6625\u8282"); //输出 "%u6625%u8282" javascript:unescape("%u6625%u8282"); //输出 "春节" javascript:unescape("\u6625\u8282"); //输出 "春节" 其次 ,escape()不对“+”编码。但是我们知道

vue下的微信web jssdk

谁说胖子不能爱 提交于 2020-01-06 17:13:08
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> npm install weixin-js-sdk --save 在 main.js 或 App.vue 中 注意url为 encodeURI(location.href.split('#')[0]) ,只需要 #之前 的内容,且必须 encodeURI 处理,因此使用vue-router的hash模式只需要config一次,而使用history模式则需要每个页面都config 上面说法有误,在ios下只需config一次,但在安卓下,一旦使用了浏览器自带的回退,就需要重新config import wx from 'weixin-js-sdk'; https.fetchGet('/WeixinJSSDK/GetWeishopJsViewModel', { tenantId: 5056, memberId: memberId, url: encodeURI(location.href.split('#')[0]) }, 'G').then((data) => { wx.config({ debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。 appId: data.appId, //

简单明了区分escape、encodeURI和encodeURIComponent

寵の児 提交于 2020-01-05 05:16:03
二、escape和它们不是同一类 简单来说,escape是对字符串(string)进行编码(而另外两种是对URL),作用是让它们在所有电脑上可读。 编码之后的效果是%XX或者%uXXXX这种形式。 其中 ASCII字母、数字、@*/+ ,这几个字符 不会 被编码,其余的都会。 最关键的是,当你需要对URL编码时,请忘记这个方法,这个方法是针对字符串使用的,不适用于URL。 事实上,这个方法我还没有在实际工作中用到过,所以就不多讲了。 三、最常用的encodeURI和encodeURIComponent 对URL编码是常见的事,所以这两个方法应该是实际中要特别注意的。 它们都是编码URL,唯一区别就是编码的字符范围,其中 encodeURI方法 不会 对下列字符编码 ASCII字母、数字、~!@#$&*()=:/,;?+' encodeURIComponent方法 不会 对下列字符编码 ASCII字母、数字、~!*()' 所以encodeURIComponent比encodeURI编码的范围更大。 实际例子来说,encodeURIComponent会把 http:// 编码成 http%3A%2F%2F 而encodeURI却不会。 四、最重要的,我该什么场合用什么方法 区别上面说的很清楚了,接下来从实际例子来说说把。     1、如果只是编码字符串,不和URL有半毛钱关系

url加密和解密

点点圈 提交于 2020-01-05 05:15:00
转载1:http://www.cnblogs.com/bingyu/articles/1545043.html 转载2:http://www.cnblogs.com/qiantuwuliang/archive/2009/07/19/1526687.html ----------------分割线------------------------------- .NET中加密和解密有两种方式 string file="文件上(传)篇.doc"; string Server_UrlEncode=Server.UrlEncode(file); string Server_UrlDecode=Server.UrlDecode(Server_UrlEncode); string HttpUtility_UrlEncode=System.Web.HttpUtility.UrlEncode(file); string HttpUtility_UrlDecode=System.Web.HttpUtility.UrlDecode(HttpUtility_UrlEncode); Response.Write("原数据:"+file); SFun.WriteLine("Server.UrlEncode:"+Server_UrlEncode); SFun.WriteLine("Server

JS转码与解码

时间秒杀一切 提交于 2020-01-02 16:42:22
escape 和 unescape escape()不能直接用于URL编码,它的真正作用是 返回一个字符的Unicode编码值 。 采用unicode字符集对指定的字符串除0-255以外进行编码。所有的空格符、标点符号、特殊字符以及更多有联系非ASCII字符都将被转化成%xx格式的字符编码(xx等于该字符在字符集表里面的编码的16进制数字)。比如,空格符对应的编码是%20。 escape不编码字符有69个:*,+,-,.,/,@,_,0-9,a-z,A-Z。 escape()函数用于js对字符串进行编码 。 encodeURI 和 decodeURI 把URI字符串采用UTF-8编码格式转化成escape各式的字符串。 encodeURI不编码字符有82个:!,#,$,&,',(,),*,+,,,-,.,/,:,;,=,?,@,_,~,0-9,a-z,A-Z encodeURI()用于整个url编码 encodeURIComponent 和 decodeURIComponent 与encodeURI()的区别是,它用于对URL的组成部分进行 个别编码 ,而不用于对整个URL进行编码。 因此,"; / ? : @ & = + $ , #",这些在encodeURI()中不被编码的符号,在encodeURIComponent()中统统会被编码。至于具体的编码方法,两者是一样

JS中encodeURI,escape,encodeURIComponent区别

混江龙づ霸主 提交于 2019-12-30 21:38:12
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> js对文字进行编码涉及3个函数:escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,decodeURI,decodeURIComponent 1、传递参数时需要使用encodeURIComponent,这样组合的url才不会被#等特殊字符截断。 例如: <script language="javascript">document.write('<a href=" http://passport.baidu.com/?logout&aid=7 & u='+encodeURIComponent (" http://cang.baidu.com/bruce42")+' ">退出</a& gt;');</script> 2、进行url跳转时可以整体使用encodeURI 例如: Location.href=encodeURI( http://cang.baidu.com/do/s?word =中国&ct=21); 使用这个方法编码的字符在PHP中可以使用urldecode()函数反编码 3、js使用数据时可以使用escape escape对0-255以外的unicode值进行编码时输出%u****格式,其它情况下escape,encodeURI

php---JS中encodeURIComponent函数用php解码的代码

时间秒杀一切 提交于 2019-12-30 21:27:27
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> JS中encodeURIComponent函数给中文编码后,如何用php解码?? 前提:编码前的中文可能是gbk,gb2312,utf-8等。 urldecode() iconv() 在JS中使用了encodeURIComponent对中文进行编码在PHP中使用iconv('UTF-8','gb2312',$q);就可以得到你需要的字串了,其中gb2312根据你实际应用来定如还不明白为什么看下面的文章 URL编码转换,escape() encodeURI() encodeURIComponent() 本文介绍对url编码的三种函数 escape() ,encodeURI() ,encodeURIComponent() escape() 方法: 采用ISO Latin字符集对指定的字符串进行编码。所有的空格符、标点符号、特殊字符以及其他非ASCII字符都将被转化成%xx格式的字符编码(xx等于该字符在字符集表里面的编码的16进制数字)。比如,空格符对应的编码是%20。unescape方法与此相反。不会被此方法编码的字符: @ * / + encodeURI() 方法: 把URI字符串采用UTF-8编码格式转化成escape格式的字符串。不会被此方法编码的字符:! @ # $& * ( ) = : / ; ? +

url的三个js编码函数escape(),encodeURI(),encodeURIComponent()简介【转】

十年热恋 提交于 2019-12-24 02:26:50
引子 浏览器URl地址,上网一定会用到,但是浏览器地址有中文或者浏览器url参数操作的时候,经常会用到encodeURIComponent()和decodeURIComponent()以及encodeURI()等等。关于浏览器参数操作,请看文章 http://www.haorooms.com/post/js_url_canshu ,今天主要讲讲escape(),encodeURI(),encodeURIComponent()这几个函数的用法和区别。 为啥会有浏览器编码这一说法 一般来说,URL只能使用英文字母、阿拉伯数字和某些标点符号,不能使用其他文字和符号。比如,世界上有英文字母的网址 “h ttp://www.haorooms.com”, 但是没有希腊字母的网址“h ttp://www.aβγ.com” (读作阿尔法-贝塔-伽玛.com)。这是因为网络标准RFC 1738做了硬性规定: 原文:"...Only alphanumerics [0-9a-zA-Z], the special characters "$-_.+!*'()," [not including the quotes - ed], and reserved characters used for their reserved purposes may be used unencoded within a