`
txf2004
  • 浏览: 7069528 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

转:base64编码是否可以在URL中传递

阅读更多

  Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一,大家可以查看RFC2045~RFC2049,上面有MIME的详细规范。

  Base64编码可用于在HTTP环境下传递较长的标识信息。例如,在Java Persistence系统Hibernate中,就采用了Base64来将一个较长的唯一标识符(一般为128-bit的UUID)编码为一个字符串, 用作HTTP表单和HTTP GET URL中的参数。在其他应用程序中,也常常需要把二进制数据编码为适合放在URL(包括隐藏表单域)中的形式。此时,采用Base64编码不仅比较简短, 同时也具有不可读性,即所编码的数据不会被人用肉眼所直接看到。
  然而,标准的Base64并不适合直接放在URL里传输,因为URL编码器会把标准Base64中的“/”和“+”字符变为形如“%XX”的形式,而这些“%”号在存入数据库时还需要再进行转换,因为ANSI SQL中已将“%”号用作通配符。
  为解决此问题,可采用一种用于URL的改进Base64编码,它不在末尾填充'='号,并将标 准Base64中的“+”和“/”分别改成了“*”和“-”,这样就免去了在URL编解码和数据库存储时所要作的转换,避免了编码信息长度在此过程中的增 加,并统一了数据库、表单等处对象标识符的格式。
  另有一种用于正则表达式的改进Base64变种,它将“+”和“/”改成了“!”和“-”,因为“+”,“*”以及前面在IRCu中用到的“[”和“]”在正则表达式中都可能具有特殊含义。
  此外还有一些变种,它们将“+/”改为“_-”或“._”(用作编程语言中的标识符名称)或“.-”(用于XML中的Nmtoken)甚至“_:”(用于XML中的Name)。

转载自:http://baike.baidu.com/view/469071.htm

分享到:
评论

相关推荐

    base64 加解码 base64转hex Base64转图片 图片转Base64工具,比网上其它的方便好用,支持大于1M内容

    Base64是一种在互联网上广泛使用的编码方式,它将任意二进制数据转换为可打印的ASCII字符,以便在网络传输中...通过这样的工具,用户可以在本地便捷地进行Base64相关的操作,避免了在线工具可能带来的隐私风险和不便。

    base64-编码解码工具-python实现源码

    总的来说,Python的`base64`模块为处理Base64编码提供了便捷的接口,使得开发者可以轻松地在项目中集成这一功能。通过对源码的分析和学习,你不仅可以加深对Base64编码的理解,还可以提高Python编程技能,进一步提升...

    二维码生成 图片Base64编码解码

    二维码生成和图片Base64...总之,二维码生成和图片Base64编码解码是IT开发者需要掌握的基本技能,它们在数据传递、网页开发和移动应用中有着广泛的应用。通过理解这些概念和技术,开发者可以更有效地处理和展示信息。

    Base64编码、转换、解码代码

    在编程中,Base64编码和解码通常通过内置库或第三方库实现,例如在Python中可以使用`base64`模块,Java中可以使用`java.util.Base64`类,JavaScript中可以使用`btoa`和`atob`函数等。提供的"Base64ED"可能是一个包含...

    Base64 编码和解码

    在URL中,标准的Base64编码可能会包含"+"和"/"字符,这些字符在URL中需要转义,因此出现了URL安全的Base64编码。它将"+"替换为"-", "/"替换为"_", 并且不使用尾部的"="。 ```javascript // 使用js-base64库 let ...

    图片文件与Base64编码字节数组字符串互转

    Base64是一种用于将任意二进制数据转换为ASCII字符集的方法,以便可以在电子邮件系统和其他文本格式中传输这些数据。在图片文件和Base64之间进行转换,主要涉及以下步骤: 1. 图片文件转Base64: - 首先,我们需要...

    Base64编码(VC++实现)

    在VC++环境中,可以创建一个Base64编码的函数,接收字节数组和长度作为参数,返回Base64编码的字符串。同时,为了测试编码功能,可以创建一个`TestBase64`程序,读取文件内容进行编码,并打印或保存结果。 在实际...

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

    Base64编码是一种将二进制数据转换为可打印ASCII字符的编码方式,常用于在网络上传输非ASCII字符,如图片或PDF等。在前端开发中,Base64编码经常被用于将图片转换为字符串,以便嵌入到HTML或者CSS中。在后端,Base64...

    图片base64编码互换源码

    - 在数据传输中,Base64编码可以确保数据在不支持二进制流的环境中(如邮件系统)能够正常传递。 - 对于小尺寸图片,Base64编码可能是节省服务器带宽和存储空间的有效手段,但对于大尺寸图片,编码后的字符串长度...

    IOS-图片编码-Base64-例子

    Base64是一种用64个字符来表示任意二进制数据的方法,它将二进制数据转化为可打印的ASCII字符,使得图片可以在纯文本环境下进行传递。在"IOS-图片编码-Base64-例子"这个主题中,我们将深入探讨如何在iOS应用中实现...

    Base64 编码解码工具

    3. **URL安全**:某些URL服务可能不允许二进制数据,Base64编码后可以在URL中传递。 4. **JSON数据**:虽然JSON标准允许二进制数据通过`Blob`或`ArrayBuffer`表示,但在某些场景下,Base64用于表示二进制数据也是...

    Base64和图片互转

    在实际应用中,Base64编码的图片可能会比原图大,因为增加了编码字符的开销,但优点是可以在单个HTTP请求中传输多个小文件,提高了网页加载速度。 总的来说,Base64编码是一种方便在纯文本环境中传递二进制数据的...

    base64编码解码.zip

    2. **HTTP传输**:在HTTP头或URL中,不能包含二进制数据,Base64编码使得二进制数据可以安全地在网络上传输。 3. **配置文件**:在配置文件中,为了存储像密码这样敏感的二进制数据,通常会先进行Base64编码。 4. ...

    c#中 base64字符串与普通字符串互转

    在C#编程语言中,Base64是一种用于将二进制数据编码为ASCII字符串的机制,以便在不支持二进制传输的系统(如电子邮件)中传输。Base64编码可以将任何二进制数据转换为可打印的字符,包括图片、文件和其他非文本数据...

    Base64编码

    1. **速度快**:Base64编码算法简单高效,可以在短时间内完成大量数据的编码与解码。 2. **安全性高**:虽然Base64本身不是一种加密技术,但它可以隐藏原始数据的内容,增加数据的保密性。即使被截获,也难以直接...

    图片转base64后传入后端.rar

    在现代Web应用中,前端与后端的数据交互是常见的需求,尤其涉及到图像处理时,将图片转换成Base64编码可以方便地通过JSON格式在客户端和服务器之间传递。本话题主要探讨如何使用JavaScript将图片转化为Base64字符串...

    base64序列化字符串

    - **可打印性**:Base64编码后的字符串只包含ASCII字符,可以在任何支持ASCII的平台上无误地显示和传输。 - **避免转义**:由于不包含控制字符,Base64编码可以避免HTTP、JSON等协议中的转义问题,简化数据处理。 - ...

    BASE64转图片互相转换DEMO

    在IT行业中,Base64是一种常见的数据编码方式,它用于将二进制数据转换成ASCII字符串,以便在不支持二进制传输的环境下(如电子邮件系统)进行传递。本DEMO主要关注的是如何将图片与Base64字符串进行互相转换,这...

    Base64码的编码与解码

    在实际应用中,除了标准的Base64编码外,还有变种如URL安全的Base64编码,它将"+"和"/"替换为"-”和"_",避免在URL中引起问题。另外,还有一些加密库可能会使用Base64编码来表示密文,因为密文通常是二进制格式。 ...

    Java base64编码图片代码,base64 jar包

    Base64编码的基本原理是将每3个字节(24位)的数据转化为4个Base64字符(每个6位),这样可以确保任何二进制数据都能被转化为ASCII字符集中的字符,从而可以在文本格式的文档中传输。 在Java中,Base64编码主要通过...

Global site tag (gtag.js) - Google Analytics