zoukankan      html  css  js  c++  java
  • .Net转Java自学之路—基础巩固篇二十六(编码)

    编码:

      常见的字符编码:iso-8859-1(不支持中文)、gb2312、gbk、utf-8 等。

      1、响应编码:

        当使用response.getWriter()来向客户端发送字节数据时,若在之前没有设置编码,那么默认使用iso,iso不支持中文,故一定乱码。

        在使用response.getWriter()之前可以使用response.setCharacterEncoding("utf-8")来设置字符流的编码。即response.getWriter()这个字符流,发送的字符都是用设置的编码。

        服务器可以使用setHeader()来设置名为Content-Type的响应头。response.setHeader("Content-Type","text/html;charset=utf-8")这个方法,不只是设置响应头,而且会设置setCharacterEncoding()

        response的设置Content-Type头还有一个便捷方法:response.setContentType("text/html;charset=utf-8");

      2、请求编码:

        客户端向服务器端传递了设置编码的参数数据,服务器tomcat默认设用iso来处理参数。

        post请求:

          只需要在获取参数之前调用response.setCharacterEncoding("utf-8");设置编码后再获取参数。

        get请求:

          需要反编译。先获取参数数据。然后进行

          byte[] bytes=str.getBytes("iso-8859-1");

          str=new String(bytes,"utf-8");

      3、URL编码:

        表单的类型:Content-Type:application/x-www-form-urlencoded

          它不是字符编码;是用来在客户端与服务器之间传递参数用的一种方式;URL编码需要先指定一种字符编码,把字符串解码后,得到byte[],然后把小于0的字节+256,再转换成16进制,前加% 。

          post请求默认使用URL编码,tomcat会自动使用URL编码。

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

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

  • 相关阅读:
    入门级: WinForm 下的 ComboBox,ListBox 的使用 (一)
    C#:谨慎 DateTime.Now 带来的危险
    HTML5 小游戏审核通过,请各位有兴趣的朋友帮忙投票!谢谢。
    基于fpga的单线激光雷达数据处理
    左右法则-复杂指针解析
    智能指针(auto_ptr和shared_ptr) 转
    iphone游戏引擎
    C++对象和内存
    让你的代码变的更加强大
    Class Loader
  • 原文地址:https://www.cnblogs.com/zltao/p/10388266.html
Copyright © 2011-2022 走看看