`

js 编码,使用java解码方式

 
阅读更多

js在发送url请求带中文时会有乱码问题:
例如  var url="....do?method=init&name='中文'";
处理的方法是  对中文进行二次转码   encodeURI(encodeURI('中文')) 而我们通常只做一次转码发现还是不对。只能叹没有办法。
在接收方进行一次解码:
java.net.URLDecoder  static String decode(String s, String enc)
s 为接收的字符串   enc 为要转的编码  utf-8 等

 

 

使用两个方法:decodeURIComponent和escape

如:nickname = decodeURIComponent(escape(nickname));

 

 

解码使用:

nickname = java.net.URLDecoder.decode(nickname , "utf-8");

 

 

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>');</script>

2、   进行url跳转时可以整体使用encodeURI

例如:Location.href=encodeURI("http://cang.baidu.com/do/s?word=百度&ct=21");

3、   js使用数据时可以使用escape[Huoho.Com编辑]

例如:搜藏中history纪录。

4、   escape对0-255以外的unicode值进行编码时输出%u****格式,其它情况下escape,encodeURI,encodeURIComponent编码结果相同。

最多使用的应为encodeURIComponent,它是将中文、韩文等特殊字符转换成utf-8格式的url编码,所以如果给后台传递参数需要使用encodeURIComponent时需要后台解码对utf-8支持(form中的编码方式和当前页面编码方式相同)

escape不编码字符有69个:*,+,-,.,/,@,_,0-9,a-z,A-Z

encodeURI不编码字符有82个:!,#,$,&,',(,),*,+,,,-,.,/,:,;,=,?,@,_,~,0-9,a-z,A-Z

encodeURIComponent不编码字符有71个:!, ',(,),*,-,.,_,~,0-9,a-z,A-Z



========================================================



unescape 方法

从用 escape 方法编码的 String 对象中返回已解码的字符串。

function unescape(charString : String) : String


    参数

charString

必选。要解码的 String 对象或文本。

备注

unescape 方法返回一个包含 charstring 内容的字符串值。所有以 %xx 十六进制形式编码的字符都用 ASCII 字符集当中等效的字符代替。以 %uxxxx 格式(Unicode 字符)编码的字符用十六进制编码 xxxx 的 Unicode 字符代替。注意 unescape 方法不应用于解码“统一资源标识符”(URI)。请改用 decodeURI 和 decodeURIComponent 方法。



decodeURI 方法

返回一个已编码的统一资源标识符 (URI) 的非编码形式。

function decodeURI(URIstring : String) : String

参数

URIstring

必选。表示编码 URI 的字符串。

备注

使用 decodeURI 方法代替已经过时的 unescape 方法。

decodeURI 方法返回一个字符串值。

如果 URIString 无效,将发生 URIError。



decodeURIComponent 方法

返回统一资源标识符 (URI) 的一个已编码组件的非编码形式。

function decodeURIComponent(encodedURIString : String) : String

必选的 encodedURIString 参数是一个表示已编码的 URI 组件的值。

备注

URIComponent 是一个完整的 URI 的一部分

分享到:
评论

相关推荐

    java和js相互base64编码解码

    在Java和JavaScript中,Base64编码和解码是两个重要的功能,用于处理这种编码格式。下面将详细阐述这两个编程语言中实现Base64编码和解码的方法。 首先,让我们关注Java。在Java 8及更高版本中,已经内置了`java....

    js解码 、java编码

    在IT行业中,编码和解码是数据处理的重要环节,特别是在JavaScript和Java这两种广泛使用的编程语言中。本文将深入探讨“js解码”和“java编码”这两个主题,并结合标签“源码”和“工具”,讨论如何在实际项目中应用...

    encodeURIComponent编码后java后台的解码

    同学的毕业设计出现JavaScript用encodeURIComponentt编码后无法再后台解码的问题。 原来他是这样写的: window.self.location="searchbytext.action?searchtext="+encodeURIComponent(seartext);

    json数据base64编码压缩+解压解码(java以及js)

    java端:返回类型非字符接口调用StringUtils#base64AndCompressJson进行编码压缩 ,返回类型为字符接口调用StringUtils#base64Andcompress js 端:引入压缩包中的js文件 ,调用deBase64AndUncompress进行解压解码

    jother编码解码工具

    "jother编码解码工具"是一个专门用于JavaScript环境中的工具,它能够帮助开发者实现文字到标点符号的转换,这对于某些特定的文本处理任务,如信息加密、数据分析或者用户界面的特殊展示,可能是非常有用的。...

    JS端与java(android)端3DES加密解密和Base64编码解码文件

    本文将深入探讨如何在JavaScript(JS)客户端和Java(Android)端实现3DES加密解密以及Base64编码解码,这对于保护用户敏感信息和实现安全通信至关重要。 首先,3DES(Triple Data Encryption Standard)是一种加强...

    java解码与js转码

    java解码与js转码用于解决乱码问题.很好用的哦。不错的选择

    Quoted-printable 编码介绍、Quoted-printable编码解码转换方法

    为了满足这一要求同时不改变被编码的文本,QP编码结果的每行末尾需要加上软换行符(softlinebreak),即在每行末尾加上一个“=”,但这个字符在解码后不会出现。 6. 一些特定的可打印字符在Quoted-printable编码中...

    Delphi Base64编码,javascript解码汉字乱码解决方法演示程序(源代码)

    Delphi进行Base64编码后,如果使用javascript解码,会出现如下问题: 1. 汉字乱码 2. 空格变成 + 号 本资源演示Delphi代码,实现javascript能正确进行Base64解码,不出现上述2个问题。 解决思路:进行Base64前先...

    3des加密解密base64编码解码完全与ASP.NET,JAVA,兼容的js

    本资源提供的是一套完整的JavaScript实现,能够与ASP.NET和JAVA平台的3DES加密解密及Base64编码解码功能保持兼容。 首先,3DES的工作原理是在DES的基础上增加了一次加密过程,即使用同一个密钥进行三次加密,这大大...

    JavaScript、JavaWeb对汉字等的编码与解码处理

    在本资源中,我们将详细介绍JavaScript和JavaWeb对汉字编码的策略,包括escape、encodeURI、encodeURIComponent等编码函数的使用,以及对应的解码函数unescape、decodeURI、decodeURIComponent的使用。 一、escape...

    jsurl传值java页面url传值中文编码&amp;amp;amp;解码共2页

    在实际应用中,为了确保JavaScript和Java之间能够正确传递包含中文的URL参数,必须确保两端都使用相同的字符集(通常是UTF-8)进行编码和解码。同时,需要正确处理URL中的特殊字符,避免因编码不一致导致的解析问题...

    Android-js-htmlencode是一款可以实现HTML编码和解码的JavaScript工具类

    在Android应用中,你可能需要将这些JavaScript函数与Java代码结合使用。这可以通过使用WebView组件并利用其`evaluateJavascript()`方法来实现。首先,你需要将JavaScript代码注入到WebView中,然后调用相应的函数...

    编码解码代码demo

    - MD5编码:展示如何使用编程语言(如Python、Java、JavaScript等)计算一个字符串或文件的MD5哈希值,并将其输出。 - MD5解码:虽然MD5是单向哈希,不能直接解码回原始数据,但可能包含验证MD5哈希值与预知值是否...

    解析URL和文件的编码方式

    此外,Java的`java.net.URLDecoder`和`java.net.URLEncoder`类也提供了URL编码和解码的功能。 文件的编码方式有时会在文件的头部或通过其他方式指定,如XML文件的`&lt;?xml version="1.0" encoding="UTF-8"?&gt;`声明。在...

    UrlEncodeDecode解码编码工具(双向)

    在编程语言中,如JavaScript、Python、Java等,都有内置的函数来实现UrlEncode和UrlDecode的操作,但这些函数通常只适用于单一语言环境。而独立的工具则提供了跨平台、跨语言的解决方案,无论你使用何种技术栈,都...

    Base64编码和解码的应用(前后端程序)

    在后端,我们可以使用Java的`java.util.Base64`类进行Base64编码和解码。以下是一个简单的Servlet示例,用于接收前端发送的Base64编码字符串并解码: ```java import javax.servlet.http.*; import java.io.*; ...

    url编码解码源代码

    这些源代码可能使用不同的编程语言编写,例如Python、C++、Java或JavaScript等。分析和学习这些源代码可以帮助我们更好地理解URL编码和解码的工作原理,以及如何在实际应用中高效地处理这些操作。 此外,了解如何...

    java实现js的escape和unescape

    通过上述讨论,我们不仅了解了如何在Java中实现JavaScript的`escape`和`unescape`功能,还深入了解了编码与解码的基本原理。这对于跨语言的数据处理和网络通信具有重要的实践意义。掌握这些技巧,能够帮助开发者更加...

Global site tag (gtag.js) - Google Analytics