跨域 LeetCode 计算机网络 tfs flexbox Egret Engine vue例子 bootstrap后台管理系统 java并发编程视频 jquery选择子元素 db2从入门到精通 mysql设置自增初始值 less比较级 python中items python类与对象 java入门新手教程 java开发教程 java怎么连接数据库 java在线课程 java中tostring方法 java创建目录 磁盘分区软件 flash实例 vbs脚本 雪地求生 0x0000004e 圆形截图 listpreference 美国地址生成器 lol语音包 上传附件 扫微信二维码诈骗原理 idea导出jar包 灰色按钮激活精灵 execryptor 安卓游戏辅助 ocr文字识别软件免费下载 动漫情侣头像一男一女 ps怎么做漂亮艺术字 启用宏在哪里设置
当前位置: 首页 > 学习教程  > 编程语言

URLDecoder和URLEncoder详解

2020/12/5 10:34:10 文章标签:

URLDecoder和URLEncoder它的作用主要是用于普通字符串和application/x-www-form-rulencoded MIME字符串之间的转换 URLDecoder类包含一个decode(String s,String charcter)静态方法,它可以将看上去乱码的特殊字符串转换成普通字符串 URLEncoder类包含一个encode(String s,Strin…

 URLDecoder和URLEncoder它的作用主要是用于普通字符串和application/x-www-form-rulencoded MIME字符串之间的转换

 URLDecoder类包含一个decode(String s,String charcter)静态方法,它可以将看上去乱码的特殊字符串转换成普通字符串

 URLEncoder类包含一个encode(String s,String charcter)静态方法,它可以将普通字符串转换成application/x-www-form-urlencoded MIME字符串

  //将application/x-www-form-urlencoded字符串转换成普通字符串
  String keyWord = URLDecoder.decode("%CD%F8%C2%E7%CA%B1%BF%D5", "UTF-8");
  //将普通字符串转换成application/x-www-form-urlencoded字符串
  String urlStr = URLEncoder.encode("网络时空" , "UTF-8");

实战

由于后台传给我的视频播放地址有中文,我需要将带中文字段转成application/x-www-form-urlencoded字符串

    /**
     * @author Longchengbin
     * @description 将网址反斜杠转成正斜杠并将中文转为16进制字符
     **/
    public static String decode(String url) {
        String[] strings = url.split("\\\\");
        String s1 = strings[strings.length - 1];
        String s2 = strings[strings.length - 3];
        String s = "";
        try {
            //将反斜杠替换成正斜杠
            s = url.replaceAll("\\\\", "/").
                    //将中文转成16进制字符
  replace(s1, URLEncoder.encode(s1, "utf-8")).replace(s2, URLEncoder.encode(s2, "utf-8"));
        } catch (UnsupportedEncodingException e) {
            LogUtils.e("网址转换报错:" + e.toString());
        }
        return s;
    }

总结:
      当URL地址中仅包含普通非中文字符串和application/x-www-form-urlencoded MIME字符串无须转换,而包含中文字符串的普通字符串则需要转换,换句话说,也就是说URL地址中有"中文字符串"传递时,才会考虑用到上面提到的两个类,这样就可以将传递过来的中文接受后,再还原成原来的中文字符串.如不转换,则通过URL传递过来的中文字符中会变成乱码,无法还原了


本文链接: http://www.dtmao.cc/news_show_450265.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?