字符编码 摘要
来源:互联网 发布:魔兽九种兵器修改数据 编辑:程序博客网 时间:2024/05/20 17:07
基本知识
字符编码 Unicode UTF Big-endian Little-endian
字符编码 Character encoding
目的是,将字符编码和字符集中的对象一一对应,以便文本在计算机和网络间存储。
早期的字符编码是ASCII码 American Standard Code for Information Interchange。
标准ASCII码有7个二进制位,即一个字节。共有128个字符,96个可打印,32个控制字符。
扩展ASCII码在标准ASCII码上扩充一个字节,IBM推出,不是国际标准。
ISO8859-1 单字节 英文编码。
GB2312/GBK 双字节 汉字国标码。
Unicode
1994年,为了解决ISO8859-1字符编码的兼容问题,产生了Unicode码。
统一编码,用来表示所有语言的字符,定长双字节。
为了兼容其他编码方式,首256字符保留给ISO 8859-1所定义的字符。Java内部是使用Unicode进行编码的。
字符对应一个代码点 code point。表示Unicode字符时,通常用U+后跟16进制。范围是0-0x10ffff,共1114112个字符。
UCS-2,Universal Character Set coded in 2 octets。用两个字节表示代码点。
UCS-4,用四个字节表示代码点。
UCS规定了代码点和字符的关系。
UTF规定了存储方式。Unicode Transformation Format
UTF-16由RFC2781规定,它使用两个字节来表示一个代码点。
对应于UCS-2,用BOM,Byte Order Mark来表示文件是Big Endian or Little Endian。
UCS-2中并没有定义U+FFFE,通过FE和FF的字节顺序可知是Big 还是 Little
Big-endian Little-endian
Big Endian指的是低地址存放最高有效位MSBLittle Endian指的是低地址存放最低有效位LSB
一个例子:
如果我们将0x1234abcd写入到以0x0000开始的内存中,则结果为
Big-endian Little-endian
0x0000 0x12 0xcd
0x0001 0x34 0xab
0x0002 0xab 0x34
0x0003 0xcd 0x12
Little Endian不用考虑地址转换的问题。
UTF-8、UTF-16、UTF-32是将数字转换成程序数据的编码方案。
- 字符编码问题摘要
- 字符编码 摘要
- 黑马程序员_温习 IO流五 (个人笔记)摘要(字符编码)
- 学习笔记TF021:预测编码、字符级语言建模、ArXiv摘要
- Tensorflow实战学习(二十一)【预测编码、字符级语言建模、ArXiv摘要】
- 《C++编码规范》读书摘要
- 阿里Java编码规范摘要
- html中的特殊字符摘要
- 字符编码
- 字符编码
- 字符编码
- 字符 编码
- 字符编码
- 字符编码
- 字符编码
- 字符编码
- 字符编码
- 编码&&字符
- 19-集合框架工具类-13-常用对象API(集合框架-工具类-Collections-排序)
- POJ2784&&UVA1151-Buy or Build
- REST例子
- DIV CSS字体居中实现DIV文字水平左右居中
- 我的高效编程秘诀
- 字符编码 摘要
- 正则表达式介绍
- 菜鸟第一天:Linux OS及常用命令
- vi常用命令——感觉这玩意还是太难用了,容易弄错,也要记忆很多东西,还是算了吧。
- 初级程序员应该了解的Linux命令
- 关于自定义属性
- 21. 程序员生存定律-选公司前要干的事:分类
- [IOS]mac以太网连接
- Java的第一个程序与XSS简介