编码和解码通俗解释
来源:互联网 发布:windows 10 ast打不开 编辑:程序博客网 时间:2024/05/01 06:24
在内存中,本来没有字符的概念,每个字节都是一个0-255的数字。我们把数字进行编号,每个数字代表一个字符。追根溯源,以ASCII码为例。比如65(十进制)定义为字符'A',66定义为'B',61定义为'='。这就是编码。然后才有了char型定义,实际上等同于byte,只是使用char型时就知道要表示的是字符。如果char ch=65,然后printf("%c",ch),出来就是'A',这就是解码了。如果printf("%d",ch),那出来就仍是65。 单字节byte只能支持0-255的编码,对于亚洲语言,像中文汉字,是完全不够用的。所以之后有双字节(0-65535)以及多字节编码的出现。以双字节为例,0-65535并不能同时为多种语言编码。所以打个比方,同一个数字,可能在中文GBK编码时定义为汉字'王',而在日文编码MS932中就被定义为'小'。当内存中的数字被解释为字符(文字和符号)时,就是解码过程,把文字和符号用数字定义时就是编码。实际编码过程中,不少是前后字节有关联性定义的,并非我说的那么简单。 在网络传输时,实际上仍然是单字节,甚至是字节中1个bit一个bit传输的。我们在传输时使用byte数组,即基本类型,而在传输前后转回GBK中文编码。以老美的视角来看问题,则从byte变成亚洲语言(GBK/Unicode)属于编码encoding,而相反过程是解码decoding。另外: str.getByte()方法使用“平台的默认字符集”(例如本机就是GBK)将此 String
编码为 byte 序列,并将结果存储到一个新的 byte 数组中。
0 0
- 编码和解码通俗解释
- 编码通俗解释
- 对于PrintStream 和PrintWriter的理解 以及各种编码格式 以及编码和解码的解释
- base64编码和解码
- uuencode编码和解码
- BASE64编码和解码
- base64编码和解码
- base64编码和解码
- BASE64 编码和解码
- URL编码和解码
- NIO编码和解码
- 编码和解码问题
- Base64编码和解码
- 曼切斯特差分编码和解码
- BASE64编码和解码
- JavaScript编码 和 解码
- 编码和解码
- url编码和解码
- Activity的四种启动模式和onNewIntent()
- 第11周C++兄弟营团队学习情况记录表
- Python:使用pycha快速绘制办公常用图(饼图、垂直直方图、水平直方图、散点图等七种图形)
- shell脚本依据参数执行操作的实现
- 【转】jQuery Ajax 全解析
- 编码和解码通俗解释
- Eclipse 配置Maven以及修改默认Repository
- 第十一周项目五之当年第几天
- 第十二周项目一阅读程序(1)①
- 实例讲解UML建模分析与设计
- TCP、UDP和HTTP (转载有修改)
- QUICK COCOS2D-X 触摸事件
- 美国大学计算机工程专业TOP10
- 题目1021:统计字符