zoukankan      html  css  js  c++  java
  • Java编解码分析


    一、为什么要编解码?
    网络或磁盘传输的单位都是字节,平常我们使用的单位都是字符,所以数据需要在字节和字符之间进行转换。

    二、编解码概念
    1、编码:字符转换成字节
    2、解码:字节转换成字符

    三、常用字符集
    1、ASCII码:共128个,单字节编码
    2、ISO-8859-1:ISO制定的ASCII扩展编码,共256个字符,单字节编码,是很多系统的默认字符集
    3、GB2312:双字节编码,中文字符集
    4、GBK:双字节编码,中文字符集,兼容GB2312,扩展GB2312
    5、UTF-16:双字节编码,即16bit,定长表示,包含世界上所有的字符,每个字符都用两个字节表示,Java以UTF-16作为内存的存储格式
    6、UTF-8:变长表示,不同的字符使用1-6个字节表示

    四、乱码原因
    从char到byte(编码)或从byte到char(解码)的转换过程中编码和解码的字符集不一致导致的。
    1、乱码示例一:编码使用GBK、解码使用ISO-8859-1
     2、乱码示例二:使用不支持汉字的ISO-8859-1字符集,ISO-8859-1会把一切不在码值范围内的字符统一用3f表示,3f表示的就是?

    五、Java中需要编解码的场景
    1、I/O操作中存在编解码
    2、内存操作编解码
    3、URL编解码

  • 相关阅读:
    App如何选择移动广告平台,开发者2
    mouseover与mouseenter与mousemove差额mouseout与mouseleave差额
    JFinal 的源代码超具体的分析DB+ActiveRecord
    Vim经常使用技巧总结1
    2015第4周四网摘
    Java任务调度
    2015第4周二网摘
    2015第4周一
    2015第三周日
    转SpringSided代码规范遵循
  • 原文地址:https://www.cnblogs.com/gossip/p/6340711.html
Copyright © 2011-2022 走看看