首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

URI编码解码和base64

概述 对于uri的编解码,在js中有3对函数,分别是escape/unescape,encodeURI/decodeURI,encodeURIComponent/decodeURIComponent。...而对于unicode字符,escape编码形式为%uXXXX,而其余两个函数 则先将unicode字符按照utf-8对其进行编码,然后继续进行uri编码(百分号)。...在js中,IE10以及w3c浏览器内置了window.btoa()来完成二进制数据或者ASCII字符到base64的转换。但是 unicode字符不能使用该函数。...()*-._~0-9a-zA-Z 现在对比encodeURI和encodeURIComponent,从名称上可看出encodeURI是针对整个URI进行编码,我们以特殊的URI--URL来说明下。...,=符号进行编码,否则破坏了URI的原有含义,而encodeURIComponent则是针对URI的 某一部分进行编码,如查询字符串部分的&会被转义。

2.5K70
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    JS编码解码

    一、定义和用法 encodeURI() 函数可把字符串作为 URI 进行编码。 语法 encodeURI(URIstring) 参数 描述 URIstring 必需。...一个字符串,含有 URI 或其他要编码的文本。 返回值 URIstring 的副本,其中的某些字符将被十六进制的转义序列进行替换。...该方法的目的是对 URI 进行完整的编码,因此对以下在 URI 中具有特殊含义的 ASCII 标点符号,encodeURI() 函数是不会进行转义的:;/?...:@&=+$,# 提示和注释 提示:如果 URI 组件中含有分隔符,比如 ? 和 #,则应当使用 encodeURIComponent() 方法分别对各组件进行编码。...一个字符串,含有 URI 组件或其他要编码的文本。 返回值 URIstring 的副本,其中的某些字符将被十六进制的转义序列进行替换。

    7.8K61

    URI 源码分析

    需要提前了解下什么是URI,及URI和URL的区别: URI、 URL 和 URN 的区别 URI 引用包括最多三个部分:模式、模式特定部分和片段标识符。...在java中,URI使用java.net.URI类表示,URI类只能标识资源,和解析URI,而不能获取URI所标识的资源(URN是无法定位到资源的)。...主要针对层次的URI。通过 模式、服务器地址、文件路径、片段标识构造URI。 主要针对层次的URI。通过 模式、授权机构、文件路径、查询条件、片段标识构造URI。 主要针对层次的URI。...如果URI是层次结构则能获取所有信息。 方法中带Raw的,是获取编码后的URI部分信息。非ascii的字符需要进行编码,不带Raw的方法是解码后的信息。...源码如下 public URI resolve(URI uri) { return resolve(this, uri); } private static URI resolve(URI

    1.6K150

    Data URI的利弊

    Data URI的利弊 由 Ghostzhang 发表于 2010-10-16 00:00 最近Data URI似乎热了起来,特别是从淘宝UED上发了一篇《Data URI小试 —— 在旺旺点灯(JS...说到Data URI的优点,自然少不了“减少链接数”,把图片转为Base64编码,以减少图片的链接数。我们先想当然一下,同样一张图片,如果不用发起一个下载请求,打开速度是会更快的。...但是,有几个问题需要关注下: 图片始终是要下载的,那么下载一张图片的速度快还是下载一堆编码快? 浏览器对图片的显示,处理效率哪个更快?...Demo,我们来看对比下: 多小图的处理对比: Demo1 DataURI ; Demo2 img 单图处理对比: Demo1 DataURI ; Demo2 img 多刷新几次,可以发现,使用Data URI...有关Data URI的介绍可以看下《data URI scheme》和《利用 Data URL 加速你的網頁》,里面提到的IE8以下浏览器不支持的问题,相应的解决方案可以看《MHTML – when you

    72230

    URI与URL的区别

    例如,下面是一个指向section_2的URI:  http://somesite.com/html/top.htm#section_2 相对URI  相对URI 不包含任何命名规范信息。...为了说明相对URI,假设我们有一个基本的URI http://www.acme.com/support/intro.htm 下面的链接中使用了相对URI:  <A href="suppliers.htm...其中,URL,URN是<em>URI</em>的子集。  Web上地址的基本形式是<em>URI</em>,它代表统一资源标识符。有两种形式:  URL:目前<em>URI</em>的最普遍形式就是无处不在的URL或统一资源定位器。 ...<em>URI</em>有绝对和相对之分,绝对的<em>URI</em>指以scheme(后面跟着冒号)开头的<em>URI</em>。...与绝对的<em>URI</em>不同的,相对的<em>URI</em>不是以scheme(后面跟着冒号)开始的<em>URI</em>。 它的一个例子是articles/articles.html。

    1.5K60

    深挖data URI性能瓶颈

    可能有同学会问,base64 编码在 data URI 中的角色是什么?...我们一般指定base64编码方式,如果不填,默认是低效的URL编码。 对于非英文字符串,URL 编码一种非常浪费空间的编码方式。...URL 编码在地址栏中很常见,对于 URL 安全的字符(比如英文字母、数字、中划线、下划线等)就直接显示,对于 URL 不安全的字符(比如非英文的字符)就编码成%xx的形式。...Base64 编码明显比 URL 编码小很多(但是因为使用了6个比特而不是8个比特,所以仍然比压缩过的二进制文件大一些)。...因此,当我们提到 data URI 时,99%同时是指配套使用 base64 编码技术,来把一个二进制资源文件(比如字体或图片)合并到主文档(可能是HTML,可能是CSS)中。

    1.8K20
    领券