精华内容
下载资源
问答
  • 什么是URL编码,URL解码

    千次阅读 2015-10-29 12:39:20
    1. 例如我们要编写一个下载程序,下载的路径...因为在程序中无法直接请求一个含有中文url,所以,我们要对它编码,我们一般会编成gbk,utf-8,但是URL编码和gbk,utf-8编码的区别,它不会把所有字符都编码, 它只对
    1. 例如我们要编写一个下载程序,下载的路径是 http://www.dbank.com/documents/图片/华仔.jpg,如果直接用new URL(path)的方式,是无法取得网络连接的,

    因为在程序中无法直接请求一个含有中文的url,所以,我们要对它编码,我们一般会编成gbk,utf-8,但是URL编码和gbk,utf-8编码的区别是,它不会把所有字符都编码,

    它只对非字母数字的字符借助utf-8或gbk来编码。

    编码时注意 不能把整个url路径传到UrlEncoder的decode方法中,因为它也会把反斜杠/和冒号:也编码,所以域名部分是不需要编码的,取出路径部分 /图片/华仔.jpg

    然后用split方法分割再分别编码,算法如下

     

    1. public static String formatUrl(String url) throws UnsupportedEncodingException{  
    2.     String[] dir = url.split("/");  
    3.     StringBuffer tempPath = new StringBuffer("");  
    4.     for(int i = 0; i < dir.length; i++){  
    5.         tempPath.append(URLEncoder.encode(dir[i], "UTF-8"));  
    6.         tempPath.append("/");  
    7.     }  
    8.     return tempPath.toString().substring(0, tempPath.length() - 1);  
    9. }  


    最后获取的就是

    例如 "http://www.dbank.com/documents/%E5%8D%8E%E4%BB%94.jpg" 。这下可以new了

     

    格式是百分号加16进制码的方式,这便构成了url格式的编码。

    但是我们可以直接在浏览器中请求一个含有中文的url路径,这是为什么呢?我想这是因为,浏览器的内部程序作了判断,不管什么URL,它都给来了个URL编码,所以含有中文的就可以请求了

    总结:如果想让URL 成功new出来,url地址必须要符合2个条件:

    ①不能包含中文

    ②符合ur地址的格式,即 http://xx.com/a/b

    URL解码

    经过测试 解码和编码的唯一不同是 解码时只对16进制数(中文编码)解码,而反斜杠/,英文,数字是不会有所改变的,所以解码时不需要以斜杠/ 为界限,plit()分割来解码

    而是直接传入路径

    1. decode = URLDecoder.decode("http://www.dbank.com/documents/%E5%8D%8E%E4%BB%94.jpg","UTF-8");  

    //打印结果  http://www.dbank.com/documents/图片/华仔.jpg

    展开全文
  • URL编码

    2019-05-06 16:01:34
     为什么要用它:在客户端和服务器之间传递中文时需要把它转换成网络适合的方式。  * 它不是字符编码!  * 它用来在客户端与服务器之间传递参数用的一种方式!  * URL编码需要先指定一种字符...

    URL编码

    3. URL编码

      表单的类型:Content-Type: application/x-www-form-urlencoded,就是把中文转换成%后面跟随两位的16进制。

      为什么要用它:在客户端和服务器之间传递中文时需要把它转换成网络适合的方式。

      * 它不是字符编码!

      * 它是用来在客户端与服务器之间传递参数用的一种方式!

      * URL编码需要先指定一种字符编码,把字符串解码后,得到byte[],然后把小于0的字节+256,再转换成16进制。前面再添加一个%。

      * POST请求默认就使用URL编码!tomcat会自动使用URL解码!

      * URL编码:String username = URLEncoder.encode(username, "utf-8");

      * URL解码:String username = URLDecoder.decode(username, "utf-8");

     

     

    URL编码

    表单的类型:Content-Type: application/x-www-form-urlencoded,就是把中文转换成%后面跟随两位的16进制

    为什么要用它:在客户端和服务器之间传递中文时需要把它转换成网络适合的方式

     

    它不是字符编码!

    它是用来在客户端与服务器之间传递参数手和一种方式!

    URL编码需要先指定一种字符串编码,把字符串编码后,得到byte[] 然后把小于0的字节+256,再转换成16禁止,前面再添加一个%

    URL编码:String username=URLEncoder.encode(username,"utf-8");

    URL解码:String username=URLDecoder.decode(usernam,"utf-8");

    代码示例:

    String name="张三";

    String bm= URLEncoder.encode(name,"utf-8");//编码的一个过程,将字符编码成16进制的

    System.out.println(bm);

    String jm=URLDecoder.decode(bm, "utf-8");//解码的一个过程,将16进制解码成字符串

    System.out.println(jm);

     

    返回结果:

    展开全文
  • 如果用这种UTF-8编码url形式也正常的, http://localhost:8080/search.jsp?keyword=%E7%BC%96%E8%BE%91 但是如果在url中直接用汉字就不行了会出现乱码 就是 通过下面两种形式都能得到正确结果 ...
  • 什么是urlencode编码

    2018-03-21 11:01:00
    今天看文章中看到了urlencode,不理解 ,故上网查了查,看到了如下的答案,在此记录下,以加深印象 urlencode编码:就是将字符串以URL编码,一种编码方式,主要为了解决url中文乱码问题。例如:String mytext = ...
    今天看文章中看到了urlencode,不理解 ,故上网查了查,看到了如下的答案,在此记录下,以加深印象 
    urlencode编码:就是将字符串以URL编码,一种编码方式,主要为了解决url中中文乱码问题。

    例如:

    String mytext = java.net.URLEncoder.encode("中国", "utf-8"); //urlencode编码
    String mytext2 = java.net.URLDecoder.decode(mytext, "utf-8"); //urlencode解码

    这两条语句在同一个页面中的话,得到的结果是:
    mytext: %E4%B8%AD%E5%9B%BD
    mytex2: 中国

    转载于:https://www.cnblogs.com/w-essay/p/8615759.html

    展开全文
  • 文件名被URL编码

    2020-11-26 02:47:38
    <div><p>导出后的文件名是中文的时候被URL编码,类似于下边这种格式 <pre><code> %E7%BB%8F%E9%94%80%E5%95%86%E5%AE%A1%E6%A0%B8%E5%88%97%E8%A1%A8%E4%BF%A1%E6%81%AF </code></pre> 请问下这个可以通过...
  • 什么要对URL编码 当我们使用GET方式传递参数时,参数内容就直接会在URL地址显示出来,安全系数较低。 ...password=123456 ...URL 编码是指针对网页url中的中文字符的一种编码转化方式,最常见的就是Baidu等搜

    为什么要对URL编码

    当我们使用GET方式传递参数时,参数内容就直接会在URL地址显示出来,安全系数较低。

    login.php?name=test&password=123456

    而且如果在参数中带有空格,则用 URL 传递参数时就会发生错误,而用 URL编码后,空格转换成%20等。

    这样错误就不会发生了。对中文进行编码也是同样的情况,因此,我们需要对 URL 传递的参数进行编码,把传递的参数内容隐藏起来。

    URL 编码是指针对网页url中的中文字符的一种编码转化方式,最常见的就是Baidu等搜索引擎中输入中文查询时候,生成经过Encode过的网页URL。
    在这里插入图片描述

    PHP怎么对URL编码

    3 echo urlencode("中文-_. ")."\n"; //%D6%D0%CE%C4-_.+
    4 echo urldecode("%D6%D0%CE%C4-_. ")."\n"; //中文-_.
    5 echo rawurlencode("中文-_. ")."\n"; //%D6%D0%CE%C4-_.%20
    6 echo rawurldecode("%D6%D0%CE%C4-_. ")."\n"; //中文-_.
    # 除了“-_.”之外的所有非字母数字字符都将被替换成百分号“%”后跟两位十六进制数。
    # urlencode和rawurlencode的区别:urlencode将空格编码为加号“+”,rawurlencode将空格编码为加号“%20”。
    

    还有一种方式比较常用,就是对数据进行base_64编码

    $str = 'This is an encoded string';
    echo base64_encode($str);
    
    $str = 'VGhpcyBpcyBhbiBlbmNvZGVkIHN0cmluZw==';
    echo base64_decode($str);
    

    又或者通过http_build_query() 生成 URL-encode 之后的请求字符串

    <?php
    $data = array('foo'=>'bar',
                  'baz'=>'boom',
                  'cow'=>'milk',
                  'php'=>'hypertext processor');
    
    echo http_build_query($data) . "\n";
    echo http_build_query($data, '', '&amp;');
    
    # 以上例程会输出:
    foo=bar&baz=boom&cow=milk&php=hypertext+processor
    foo=bar&amp;baz=boom&amp;cow=milk&amp;php=hypertext+processor
    

    parse_url()还可以解析 URL,返回其组成部分

    $url = 'http://username:password@hostname/path?arg=value#anchor';
    print_r(parse_url($url));
    echo parse_url($url, PHP_URL_PATH);
    
    # 以上会输出:
    Array
    (
        [scheme] => http
        [host] => hostname
        [user] => username
        [pass] => password
        [path] => /path
        [query] => arg=value
        [fragment] => anchor
    )
    /path
    
    展开全文
  • HTTP 头部的编码方式——ASCII编码

    千次阅读 2019-03-09 19:47:03
    先说结果,http请求行、响应行的编码方式都为ASCII,这也什么需要对url进行url编码,将非ASCII字符转为ASCII字符。 我们知道在HTTP头部中传入的信息不会被url encode,那header头如果有非ASCII码,如中文字符等,...
  • 具体说明其中具体的原理分析如下,假设页面端传入的机构名称(organame)中文是:"中”,按照下面步骤进行解码 1.第一次encodeURI,按照utf-8方式获取字节数组变成[-28,-72-83],对字节码数组进行遍历,把每个字节...
  • 网址及查询字符串中包含中文时,一般会进行url编码,常用的有三种编码方式esacpe、encodeURI、encodeURIComponent三种方式; 无论网页的原始编码是什么,一旦被Javascript编码,就都变为unicode字符. 1.escape() ...
  • 最近在用CI框架的时候,发现一个问题,URL的GET方式链接时,如果用中文字符的话,就会出现问题,提示:链接字符不通过,于是在网上找了很多方法,修改CI框架的config.php文件,以及URL.php文件,都有所修改,最后...
  • 教程里忘了和其它工具对比,它们的URL编码不全的 对tipask 2.0 的这个URL编码后的SQL注入 也失败的 不是说hackbar插件不好啊... 而是有些情况下 它做不到 当然对比的 大家都有的功能 因为hackbar上的功能 ...
  • 最近在用CI框架的时候,发现一个问题,URL的GET方式链接时,如果用中文字符的话,就会出现问题,提示:链接字符不通过,于是在网上找了很多方法,修改CI框架的config.php文件,以及URL.php文件,都有所修改,最后...
  • 在做项目时,为了让中文不出现乱码,统一一个编码方式是必不可少的,但是有的时候即使将jsp页面,一些使用到的框架编码都统一之后,还是会出现中文乱码的问题,这到底什么呢? 原来还需要修改一处地方: 在...
  • 在jsp页面中,设置页面的存储编码和页面输出时的编码:  pageEncoding="utf-8"%> ...为什么会这样呢,造成这种现象的原因Tomcat对get和post两种提交方式的处理方法不一样造成的。自从To
  • 中文乱码一直都web开发者比较头痛的问题,稍不注意,设置了错误的编码方式或忘记设置,就能出乎意外地看到不想看见的乱码,解决起来也比较棘手。web应用服务器、页面、数据库等等全部都设置成统一的编码GB2312,ok...
  • 1. 总体介绍 django-uuslug是一个很方便的将中文转化成拼音slug的插件. 通过使用django-uuslug, 可以保确保...django中的slug是什么: slug是一个新闻属性, django中的slug是指有效URL的一部分, 能使URL更加清...
  • 什么URL在浏览器能访问...为了保证所有的浏览器都能正常访问URL,请务必对URL中包含特殊字符显示编码,显示编码的意思代码中能够明确看出编码方式是UTF8、GB2312或者其它。例如像下面这样: [java] vie
  • urlcode的理解

    千次阅读 2015-12-25 16:28:55
     urlcode 一种编码方式,就是把http请求串的url 进行urlcode的编码,让httpserver 可以识别,不至于http的client、server 之前出现乱码或者误解。 2. 把为什么要用urlcode进行编码呢  因为在把字符串用url...
  • <div><p>在实现web直传...但是COS验证的时候不知道用什么编码,官方文档没说,所以报403错误,尝试了几种解决方法都不行。</p><p>该提问来源于开源项目:tencentyun/cos-js-sdk-v5</p></div>
  • 编码算法 编码算法将一种形式转换成等价的另外一种形式。主要为了方便某种特定场景的处理。 字母如何在计算机中表示呢?...我浏览器想给服务器发送数据,有没有什么编码方式呢? 用URL编码 一般规则 ...
  • 只是传输,传输的二进制,无所谓什么编码解码,http机器之间通讯,为什么要编码解码?机器认得字符?机器只认二进制。解码tomcat的工作,utf8编码的字节序列被tomcat默认以iso8895-1方式解码所以有了乱码,...
  • Json CPP 中文支持与入门示例在每一个Json Cpp自带*.cpp文件头加上: #include "stdafx.h" 将Json Cpp对自带的头文件的引用修改为单引号方式,例如json_reader.cp ...MyEclipse编码设置及字体设置等原文: ...
  • 1、会话技术 一次会话可以定义为服务器和浏览器多次的数据传递和共享,会话在浏览器第一次请求时建立... 3、Cookie在Tomcat8之后支持存储中文,特殊字符需要URL编码 4、多个项目间Cookie默认不能共享,可以通过s...
  • 1、flex默认编码是utf-8,因此java后台设置对request的解码也为utf-8,即可获得中文,不用管tomcat中间服务器的编码是什么。 2、flex中httpservice的send方式不同,url方式为dbsvc1.request.ty
  • 中文乱码问题

    2014-02-26 11:42:56
    中文乱码问题 ...这也是因为GET方式是用http的url传过来的默认用iso-8859-1编码的,所以首先得到的strCn要再用iso-8859-1编码得到原文后,再进行用utf-8(看具体页面的charset是什么utf-8或gbk)进行解
  • 然后如果没有指定表的编码方式,它默然会采用数据库的编码方式,字段没有指定编码方式,它会有表的编码方式,所以最好在创建他们的时候就指定他们的编码方式,(我指定的GBK,我也试过utf8 可是不知道为什么还是...
  • base64转化URL背景图片

    2012-06-25 16:22:40
    Base64网络上最常见的用于传输8Bit字节代码的编码方式之一,可用于在HTTP环境下传递较长的标识信息。 某人: 唉,我彻底废柴了,为何上面明明是中文,洒家却看不懂嘞,为什么? 好吧,我也不喜欢专业术语的...
  • 编写WAP程序的开发人员都知道在URL中传递中文参数一个非常棘手的问题,要么接收不到参数值,要么接收到一堆乱码。...这因为WAP在传递参数时均采用了UTF-8的编码方式,所以我们不可以在WAP的URL地址中...
  • Base64网络上最常见的用于传输8Bit字节代码的编码方式之一,可用于在HTTP环境下传递较长的标识信息。 某人: 唉,我彻底废柴了,为何上面明明是中文,洒家却看不懂嘞,为什么? 好吧,我也不喜欢专业术语的解释...

空空如也

空空如也

1 2 3 4 5 ... 8
收藏数 145
精华内容 58
关键字:

url中文是什么编码方式