`
ymgjava
  • 浏览: 22977 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JavaScript 编码转换

阅读更多
JavaScript中的编码方法:

escape() 方法:
        MSDN JScript Reference中如是说:
        The escape method returns a string value (in Unicode format) that contains the contents of [the argument]. All spaces, punctuation, accented characters, and any other non-ASCII characters are replaced with %xx encoding, where xx is equivalent to the hexadecimal number representing the character. For example, a space is returned as "%20."
        翻译如下:
        escape()方法以Unicode格式返回一个包含传入参数内容的string类型的值。 escape()方法会将传入参数中所有的空格、标点符号、重音字符以及其它任何非ASCII字符替换为%xx的编码形式,其中xx与其所表示的字符的16进制数表示形式相同。如空格字符的16进制表示形式为0x20,则此时xx应为20,即escape('') 返回“%20”。

        注:unescape()方法:解码用 escape 方法进行了编码的 String 对象。
                                unescape(charstring)
                                必选项 charstring 参数是要解码的 String 对象。
                                unescape 方法返回一个包含 charstring 内容的字符
                                串值。所有以%xx十六进制形式编码的字符都用ASCII字
                                符集中等价的字符代替。以%uxxxx格式(Unicode字符)
                                编码的字符用十六进制编码xxxx的Unicode字符代替。

encodeURI()方法:
        MSDN JScript Reference中如是说:
        The encodeURI method returns an encoded URI. If you pass the result to decodeURI, the original string is returned. The encodeURI method does not encode the following characters: ":", "/", ";", and "?". Use encodeURIComponent to encode these characters.
        翻译如下:
        encodeURI()方法返回一个经过编码的URI。如果将encodeURI()方法的编码结果()传递给decodeURI()方法作参数,则能得到原始的未编码的字符串。需要注意到是encodeURI方法不编码如下字符":", "/", ";", and "?"。如果想要编码这些字符,请使用encodeURIComponent方法。
 
encodeURIComponent()方法:
        MSDN JScript Reference中如是说:
        The encodeURIComponent method returns an encoded URI. If you pass the result to decodeURIComponent, the original string is returned. Because the encodeURIComponent method encodes all characters, be careful if the string represents a path such as /folder1/folder2/default.html. The slash characters will be encoded and will not be valid if sent as a request to a web server. Use the encodeURI method if the string contains more than a single URI component.
        翻译如下:
        encodeURIComponent()方法返回一个编码过的URI。如果将encodeURIComponent()方法的编码结果传递给encodeURIComponent()方法作参数,则能得到原始的未编码的字符串。因为encodeURIComponent()方法会编码所有的字符,所以如果待编码的字符串是用来表示一个路径(如/dir1/dir2/index.htm)时,就一定要小心使用了。‘/’符号会被其编码之后,将不再是一个有效的路径标识符,所以不能被web服务器正确地识别。当字符串包含一个单独的URI component(指?后面的请求参数)的时候,请使用此方法。

有什么区别,何时使用?
        escape方法并不编码字符+。而我们知道,在用户提交的表单字段中,如果有空格,则会被转化为+字符,而服务器解析的时候则会认为+号代表空格。由于这个缺陷,escape方法并不能正确地处理所有的非ASCII字符,你应当尽量避免使用escape方法,取而代之,你最好选择encodeURIComponent()方法。escape()不编码的字符:@*/+
       相对于使用escape方法,使用encodeURI方法会显得更专业一些。当你需要编码一整个URI的时候,你可以使用此方法,因为URI中的合法字符都不会被编码转换。需要注意到是字符’也是URI中的合法字符,所以也不会被编码转换。encodeURI() 不编码的字符: ~!@#$&*()=:/,;?+''
        encodeURIComponent方法在编码单个URIComponent(指请求参数)应当是最常用的。需要注意到是字符’也是URI中的合法字符,所以也不会被编码转换。encodeURIComponent()不编码的字符: ~!*()''
分享到:
评论

相关推荐

    JS实现URL编码转换中文

    本文将详细介绍如何使用JavaScript进行URL编码转换,并提供一个具体的示例来帮助理解这一过程。 #### 一、URL编码基础知识 URL编码(也称为百分号编码)是一种机制,用于将特殊字符(如空格、中文字符等)转换为...

    Node.js-iconv-lite-纯javascript转换字符编码

    `iconv-lite` 是一个纯 JavaScript 实现的字符编码转换库,它不需要任何 C++ 扩展,因此可以在包括 Windows、Linux、Mac OS X 在内的各种平台上无缝工作。这个库主要设计用于解决 Node.js 应用程序在处理多语言或多...

    url编码转换器

    在这个“url编码转换器”中,我们可以看到它主要服务于将这些特殊字符转换为它们在网络传输中安全的表示形式。 在URL中,非字母数字的字符通常会被转换为"%xy"的形式,其中xy是该字符在ASCII码表中的16进制表示。...

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

    Quoted-printable编码的数据可以通过以下的伪代码函数进行编码转换: ```pseudo function quoted_printable_encode($string){ return preg_replace('/[^\r\n]{73}[^=\r\n]{2}/', "$0=\r\n", str_replace("%", "=",...

    JavaScript实现Base64编码转换

    简介 Base64是一种基于64个可打印字符来表示二进制数据的表示方法。由于2的6次方等于64,所以每6个...当然,你也可以将图片、文本和音视频转换成二进制序列,再然后转换为Base64编码。我们这里讨论的是如何将二进制转换

    JavaScript 程序编码规范

    以下是一些关键的JavaScript编码规范要点: 1. **命名规则**: - 变量名和函数名应采用小驼峰式(camelCase)命名法,如`myVariable`。 - 常量名应全大写,单词间用下划线分隔,如`MY_CONSTANT`。 - 避免使用...

    易语言JS实现编码转换源码

    在本案例中,我们讨论的主题是利用易语言来实现JavaScript(JS)编码转换的源码。JavaScript是一种广泛应用于Web开发的脚本语言,它在处理字符串编码时扮演着重要角色,尤其是在处理不同字符集和编码格式之间转换时...

    JavaScript Unicode 编码转换器.htm

    Unicode 编码转换器;感觉很好用,推荐一下

    编码转换convertz8.02

    标签中的“js”表明这个转换工具可能包含了JavaScript实现的部分,JavaScript是一种广泛用于Web开发的脚本语言,可以用于客户端的交互逻辑,例如在浏览器中进行编码转换。这可能意味着convertz8.02提供了JavaScript...

    易语言JS实现编码转换源码-易语言

    在本压缩包中,"易语言JS实现编码转换源码"提供了用易语言编写的JavaScript编码转换的源代码示例。这个教程可能对那些想学习如何在易语言环境中处理JavaScript编码问题的初学者或进阶者非常有用。 首先,我们要理解...

    易语言源码易语言JS实现编码转换源码.rar

    3. **JavaScript编码处理**:JavaScript中可以使用`Buffer`对象和`TextDecoder`、`TextEncoder` API进行编码转换。例如,`Buffer`对象用于处理二进制数据,而`TextDecoder`和`TextEncoder`则负责将二进制数据解码成...

    javascript全角转换半角

    ### JavaScript全角转换半角知识点解析 在计算机领域中,字符编码是十分重要的基础概念之一。根据字符在屏幕上的显示宽度,我们可以将字符分为“全角”与“半角”。通常情况下,全角字符(Full-width)占用两个字节...

    JavaScript转换二进制编码为ASCII码的方法

    在JavaScript中,转换二进制编码为ASCII码是编码处理的一部分,主要涉及到计算机科学中的二...在进行JavaScript编码转换时,熟练掌握这些技巧能够帮助开发者处理各种字符编码问题,从而实现更高效和准确的数据处理。

    JS实现编码转换.rar

    综上所述,JS实现编码转换涉及到了JavaScript的字符串处理、Unicode编码以及可能的第三方库使用。在实际项目中,要充分理解各种编码标准,熟练掌握相关的API和工具,以便在多语言环境下保证数据的正确传输和显示。...

    javascript编码与解码

    JavaScript编码与解码是Web开发中的重要组成部分,它涉及到字符集、编码格式以及字符串处理等多个方面。在这篇文章中,我们将深入探讨JavaScript中的编码与解码机制,并结合标签“源码”和“工具”来理解其在实际...

    JavaScript转换二进制编码为ASCII码的方法.docx

    在处理数据编码时,JavaScript 提供了多种方法来转换不同的编码格式,其中包括将二进制编码转换为ASCII码。 ASCII(American Standard Code for Information Interchange,美国信息交换标准代码)是一种基于拉丁...

    javascript 判断是否GBK编码

    在JavaScript中,判断一个字符串是否属于GBK编码是一个常见的需求,特别是在处理中文字符集时。GBK是GB2312的扩展,包含了更多的汉字和其他字符,是Windows系统中广泛使用的中文编码标准。本篇将深入探讨如何通过...

    ecshop 模版编码 转换 工具

    "ecshop 模板编码转换工具"就是为了帮助解决这类问题而设计的。 这个工具的主要功能是将ECShop模板文件的编码进行转换,确保在不同的环境中正确显示和处理文本。编码转换是编程和网页设计中常见的需求,因为不同的...

    utf8文件编码转换器

    UTF8文件编码转换器是一种工具,它允许用户将文件从一种字符编码格式转换为UTF-8编码格式。在计算机科学和网页开发领域,文件编码是非常关键的,因为它决定了文本如何被正确地读取和显示。UTF-8是目前最常用的多语言...

Global site tag (gtag.js) - Google Analytics