首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

iOSURL编码那些事

前言 在iOS程序,访问一些HTTP/HTTPS的资源服务时,如果url存在中文或者特殊字符时,会导致无法正常的访问到资源或服务,想要解决这个问题,需要对url进行编码。...为什么要编码 网络标准RFC 1738规定url只能包含英文字母和阿拉伯数字,以及一些特殊字符: "...Only alphanumerics [0-9a-zA-Z], the special characters...*’(),”[不包括双引号]、及某些保留字,才可以不经过编码直接用于URL。”...此时如果url包含如汉字或者其他特殊字符则需要对它进行编码编码的意义在于,假如url的参数的中文或特殊字符在发送到服务端时,服务端无法解析它的真正意义,会导致服务端不能理解客户端的请求。...如: url的保留字?表示后面连接的是一些请求参数,而参数如果也包含?,服务端就不知道从哪个?之后是参数; url的保留字&用来连接并列的参数项,参数包含&时,服务端依然无法判断。 2.

2.5K20

关于URL编码

我会依次分析四种不同的情况,在每一种情况,浏览器的URL编码方法都不一样。把它们的差异解释清楚之后,我再说如何用Javascript找到一个统一的编码方法。...(具体的转码方法,请参考我写的《字符编码笔记》。) 在Firefox测试,也得到了同样的结果。所以,结论1就是,网址路径的编码,用的是utf-8编码。...根据中国台湾中兴大学吕瑞麟老师的试验,这时的编码方法由网页的编码决定,也就是由HTML源码字符集的设定决定。   ...也就是说,在Ajax调用,IE总是采用GB2312编码(操作系统的默认编码),而Firefox总是采用utf-8编码。这就是我们的结论4。...七、Javascript函数:encodeURI() encodeURI()是Javascript真正用来对URL编码的函数。

1.7K30

中文URL编码

假如不经过编码,这个GET请求URL就是”http://del.icio.us/flimsy?url=http://www.qingbo.org/?...按理说应该解释为页面的一个anchor,然而#comments只是url这个参数的一部分。另外,URL中含有汉字,也不符合标准。...注意不是对整个URL(指del.icio.us的GET请求的长URL)做,如果flimsy后面的问号被编码,服务器便不知道它后面是query部分了。...在为Firefox做插件时,主要用Javascript实现程序逻辑,而Javascript的字符串是UTF-8编码,且有一个方便的encodeURIComponent函数可以做URL编码。...有时间的时候我会再写一篇关于怎么在Windows把中文转换为UTF-8字节序列的文章,对进行中文URL编码的朋友也许会有帮助。见“GBK(GB2312)向UTF-8的编码转换”一文。

2.6K50

URL 如何编码

%3F % %25 # %23 & %26 2.1 JS的三种编码函数   上面说了编码方式的混乱,那么如何统一呢?...**使用Javascript先对URL编码,或者将可以在后台编码的参数编码后再发送给前端使用。...然后再向服务器提交,不要给浏览器插手的机会,这样就能保证客户端只用一种编码方法向服务器发出请求 ** escape   js编码出生最早的一个,不提倡使用,真正作用是: 返回一个字符的Unicode...函数(推荐使用)   这个函数才是javascript真正用来对URL编码的函数 它着眼于对整个URL进行编码,因此除了常见的符号以外,对其他一些在网址中有特殊含义的符号"; / ?...: @ & = + $ , #",这些在encodeURI()不被编码的符号,在encodeURIComponent()中统统会被编码,具体的编码规则是和encodeURI函数是一样的 它对应的解码函数是

1.6K20

Javascripturl编码与解码(详解)

又如,Url编码格式采用的是ASCII码,而不是Unicode,这也就是说你不能在Url包含任何非ASCII字符,例如中文。...因此对于Url而言,只有普通英文字符和数字,特殊字符$-_.+!*'()还有保留字符,才能出现在未经编码Url之中。其他字符均需要经过编码之后才能出现在Url。...例如对于~符号,虽然RFC3986文档规定,对于波浪符号~,不需要进行Url编码,但是还是有很多老的网关或者传输代理会 如何对Url的非法字符进行编码 Url编码通常也被称为百分号编码Url Encoding...例如对于IE,如果你勾选了高级设置“总是以UTF-8发送Url”,那么Url的路径部分的中文会使用UTF-8进行Url编码之后发送给服务端,而查询参数的中文部分使用系统默认字符集进行Url编码。...为了保证最大互操作性,建议所有放到Url的组件全部显式指定某个字符集进行Url编码,而不依赖于浏览器的默认实现。

2.3K90

URL汉字编码

我会依次分析四种不同的情况,在每一种情况,浏览器的URL编码方法都不一样。把它们的差异解释清楚之后,我再说如何用Javascript找到一个统一的编码方法。...根据中国台湾中兴大学吕瑞麟老师的试验 ,这时的编码方法由网页的编码决定,也就是由HTML源码字符集的设定决定。   ...举例来说,百度是GB2312编码,Google是UTF-8编码。因此,从它们的搜索框搜索同一个词“春节”,生成的查询字符串是不一样的。...也就是说,在Ajax调用,IE总是采用GB2312编码(操作系统的默认编码),而Firefox总是采用utf-8编码。这就是我们的结论4。...七、Javascript函数:encodeURI() encodeURI()是Javascript真正用来对URL编码的函数。

2.9K50

【基础进阶】URL详解与URL编码

name=P&G&t=1450591802326,因为参数多了一个&势必会造成接收 URL 的服务器解析错误,因此必须将引起歧义的 & 和 = 符号进行转义, 也就是对其进行编码。...2、非法字符:又如,URL编码格式采用的是 ASCII 码,而不是 Unicode,这也就是说你不能在 URL 包含任何非 ASCII 字符,例如中文。...escape只是对字符串进行编码(而其余两种是对URL进行编码),与URL编码无关。编码之后的效果是以 %XX 或者 %uXXXX 这种形式呈现的。...+' encodeURIComponent() 嘿,有的时候,我们的 URL 长这样子,请求参数带了另一个 URL : var URL = "http://www.a.com?...它的作用是对 URL 的参数进行编码,记住是对参数,而不是对整个 URL 进行编码。 因为它仅仅不对 ASCII字母、数字 ~ ! * ( ) '  进行编码

2.4K90

认识 URL 及其编码

在用户名和密码字段,必须对字符 : @ / 进行编码。...对 URL 进行编码主要原因有如下几点: ASCII 无法表示的字符 URL 只使用 ASCII 编码字符集中的可打印字符来编写,因此不可打印字符以及 ASCII 之外的字符如果出现在 URL ,...引号"用于在某些系统中分隔 URL。字符 # 不安全,应该总是被编码,因为它用于万维网和某些协议(如 HTTP(S))片段/锚的分隔符。字符 % 不安全,因为它用于其他字符的编码。...保留字符 许多 URL 方案将某些字符保留为一种特殊的含义:它们在 URL 的方案特定部分的出现具有指定的语义。如果 URL 中出现了不表示其特殊含义的保留字符,则必须对保留字符进行编码。...URL 的参数进行了编码,如果 URL 的路径部分存在特殊字符,比如 / 或者 ?

2.4K51
领券