zoukankan      html  css  js  c++  java
  • 字符与字节的转换:编码与解码的关系

    字符到字节:编码
    字节到字符:解码
    一个字节:8个bit
    一个字符:2个字节(具体看字符集)
    客户端与服务器端传输数据:默认iso8859-1
    客户端将数据按照iso8859-1字符集,将字符进行编码,成为字节
    按照http协议将数据传输到服务器端,
    服务器端按照iso8859-1字符集对接收的字节进行解码,成为字符
    javase里的String类的byte[]getBytes(String charsetName) throws UnsupportedEncodingException方法,就是将字符串按照
    参数charsetName,对字符串进行编码为字节数组。
    String的构造器方法:new String(byte[] bytes, String charsetName),会对bytes字节数组,按照参数charsetName进行解码为字符串,然后显示。

    比如:现在有字符串A= "中国你好",是iso8859-1编码的,因为iso8859-1不支持中文,所以按照iso8859-1解码成字符后肯定是乱码,我们想要按照utf-8
    字符集进行显示字符串A,应该怎么搞?
    方法很简单,首先用iso8859-1对字符串A编码为字节数组,然后按照utf-8进行对字节数组进行解码为字符串B,在tuf-8的语言环境下,字符串B就会显示为 中国你好。
    用java api实现的话,

    String A= "中国";
    byte[] a= A.getBytes("iso8859-1");
    String B= new String(a,"utf-8");  
    System.out.print(B);
    
  • 相关阅读:
    WebService是什么?以及工作原理
    分布锁的问题?
    反射是什么?原理?作用?
    HTTP/1.1与HTTP/1.0的区别
    Ajax的跨域问题(包括解决方案)?
    SVN与Git优缺点比较
    类的加载过程?
    B树, B-树,B+树,和B*树的区别
    Linux常用的50个命令
    权限模型
  • 原文地址:https://www.cnblogs.com/westward/p/6919865.html
Copyright © 2011-2022 走看看