7.网络编程-编码和解码

URLEncoder和URLDecoder用于完成普通字符串和application/x-www-form-urlencoded MIME字符串之间的相互转换.

HTML 格式编码的使用工具类,该类包含了将String转换为application/x-www-form-urlencoded MIME格式的静态方法,有关HTML格式编码的更多信息,请参阅HTML规范.

对String编码时,使用以下规则:

  • 字母数字字符:"a"到"z","A"到"Z",和"0"到"9"保持不变.
  • 特殊字符:".","-","*"和"_"保持不变.
  • 空格字符:" "转换为一个 "+".
  • 所有其他字符都是不安全的,因此首先使用一些编码机制将他们转换为一个或多个字节,然后 每个字节用一个包含三个字符的字符串 "%xy"表示,其中xy为该字节的两位十六进制表示形式,推荐的编码机制是UTF-8,但是,出于兼容性考虑,如果未指定一种编码,则使用相应平台默认的编码
示例代码
public static void main(String[] args) throws UnsupportedEncodingException {
        
    String name = "小林 is a boy";
    //编码 (%E5%B0%8F%E6%9E%97+is+a+boy)
    String encoder = URLEncoder.encode(name, "UTF-8");
    System.out.println(encoder);
    

    //解码 (小林 is a boy)
    String msg = URLDecoder.decode(encoder, "UTF-8");
    System.out.println(msg);
}

注意:

在web的浏览器中,不同的浏览器的编码和解码规则是不一样的

对于w3c浏览器:

遵循w3c组织规范的浏览器(非IE)

编码:byte[] data = "大帅哥".getByte(String charsetName);
解码:Sting str = new String(data,String charsetName);
对于IE浏览器:

编码使用的application/x-www-form-urlencoded MIME机制

你可能感兴趣的:(7.网络编程-编码和解码)