Android学习记录(十八)-url转义继续填坑之旅

原创 2016年05月30日 20:02:01

前面的blog其实很坑。。。

先来说几个概念:

URI :Uniform Resource Identifier,统一资源标识符;

URL:Uniform Resource Locator,统一资源定位符;

URN:Uniform Resource Name,统一资源名称。

其中,URL,URN是URI的子集。

Web上地址的基本形式是URI,它代表统一资源标识符。有两种形式:

URL:目前URI的最普遍形式就是无处不在的URL或统一资源定位器。

URN:URL的一种更新形式,统一资源名称(URN, Uniform Resource Name)不依赖于位置,并且有可能减少失效连接的个数。但是其流行还需假以时日,因为它需要更精密软件的支持。

URI是以某种统一的(标准化的)方式标识资源的简单字符串。

通常情况下,我们都会使用utf-8的url转码方式。

但是当你碰到一个比你还不靠谱的后端时,他告诉的信息是这样的:

我们._-$,;~()/这些字符不转义。。。

public static String encode(String s) {
    return encode(s, null);
}

/**
 * Encodes characters in the given string as '%'-escaped octets
 * using the UTF-8 scheme. Leaves letters ("A-Z", "a-z"), numbers
 * ("0-9"), and unreserved characters ("_-!.~'()*") intact. Encodes
 * all other characters with the exception of those specified in the
 * allow argument.

你有没有一种风中凌乱的感觉。。。。


这个时候URI.encode已经救不了你了。


还好还有这个。。。

public static String encode(String s, String allow) {
    if (s == null) {
        return null;
    }

String allowedChars="._-$,;~()/";
String urlEncoded = Uri.encode(url, allowedChars);

收工!




版权声明:本文为博主原创文章,未经博主允许不得转载。

Android学习记录(六) 记录一下最近遇到的坑:url转义遇到的问题

对于未进行url转义的http地址,对于特殊字符如: []+空格等都需要url转义。 当使用httpclient无法接收java.encode转义的结果。 解决方法: http://stack...
  • yangchengtest
  • yangchengtest
  • 2016年04月26日 21:40
  • 439

URL转义

URL中的字符只能是ASCII字符,但是ASCII字符比较少,而URL则常常包含ASCII字符集以外的字符,如非英语字符、汉字、特殊符号等等,所以要对URL进行转换。这个过程就叫做URL编码,或者叫U...
  • sunhuwh
  • sunhuwh
  • 2014年12月09日 00:05
  • 43585

Android URLEncoder 转译中文

今天做了 关键词搜索,需要将关键词汉字 作为参数 通过接口一起传给后台,当时没有对汉字进行特殊字符处理 让我痛苦了好一会,后来打印了一下连接 发现 有汉字 哈哈 这样的话 必须对汉字进行一下...
  • csdndouniwan
  • csdndouniwan
  • 2016年06月28日 14:37
  • 1346

http url转义字符,特殊字符

http url转义字符,特殊字符
  • hellochenlian
  • hellochenlian
  • 2014年08月06日 11:16
  • 19519

Android 特殊字符转义

单引号   '      ' 双引号   "     " 大于号   >    > 小于号   与          &   &...
  • gzh0222
  • gzh0222
  • 2012年05月21日 17:45
  • 10027

Android 解析带转义符的json

最近几天写Android写的有点儿癫疯状态,下午在获取远程服务器的JSON字符串儿的时候遇到了个问题,就是从服务器返回的JSON带了转义符,也就是反斜杠,然后JSON就死活解析不了了,大致上返回来的是...
  • qq_32521313
  • qq_32521313
  • 2017年03月20日 09:50
  • 1448

Android Studio——\\转义

原文链接:http://zhidao.baidu.com/question/2074310941713564108.html?fr=iks&word=p.split%28%22%5C%5C%7C%22...
  • oscar92420aaa
  • oscar92420aaa
  • 2016年01月13日 13:26
  • 859

android 获取url 参数值

前言 在开发webview 有时候需要控制url的跳转,所以需要获取url 参数进行判断 比如 http://192.168.0.37:8012/mobileAPP/payment.aspx?oId=...
  • hu285279904
  • hu285279904
  • 2016年07月14日 11:48
  • 6269

Android解析带转义符的JSON

最近几天写Android写的有点儿癫疯状态,下午在获取远程服务器的JSON字符串儿的时候遇到了个问题,就是从服务器返回的JSON带了转义符,也就是反斜杠,然后JSON就死活解析不了了,大致上返回来的是...
  • jeepxiaozi
  • jeepxiaozi
  • 2013年11月22日 01:31
  • 17070

android处理url中的特殊字符

java处理url中的特殊字符(如&,%...) URL(Uniform Resoure Locator,统一资源定位器)是Internet中对资源进行统一定位和管理的标志。 一个完整的URL包括如下...
  • codepython
  • codepython
  • 2015年10月29日 12:29
  • 1546
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android学习记录(十八)-url转义继续填坑之旅
举报原因:
原因补充:

(最多只允许输入30个字)