字符编码介绍
来源:互联网 发布:福建安全知识网络竞赛 编辑:程序博客网 时间:2024/06/03 09:17
ASCII(美国标准信息交换码):
字符与数字对应的编码规则。
最高bit位都为0(0,127)
GB2312:(国标码)
中文字符都用两个字节表示
每个字符的最高位bit为1
GBK:(国标K)
在GB2312基础上,对更多的中文字符进行编码。
BIG5:(大五码)
台湾地区对中文字符集的编码规则
Unicode:(国际通用码)
占用两个字节。
对ASCII的字符高位加0
表示范围2的16次方。还保留2000多个数值
UTF-8 :通用字符编码的统一转换
对不同范围内的字符,采用不同的字节个数来表示。
ASCII码保持不变。
其他国家的字符采用两个或三个字节来表示。
通常用EF BB BF 作为文件开头的三个字节数据。
UTF-8 与Unicode的转换关系:
/u0001和/u007f之间的字符,编码为(byte)c
/u0000或者/u0080和/u07ff之间的字符,编码为:(byte)(0xc0|0x1f&(c>>6))),(byte)(0x80|(0x3f&c))
/u0800和/uffff之间的字符,编码为:(byte)(0xe0|(0x0f&(c>>12))),(byte)(0x80|(0x3f&(c>>6))),(byte)(0x80|(0x3f&c))
优点:
不出现内容为0x00字节
便于应用程序检测数据在传输过程中是否发生错误。
直接处理使用ASCII码的英文文档。
缺点:
有些字符需要三个字节。
UTF-16:
在Unicode的细节上的扩充,只是增加了对Unicode编码没有包括的那些字符的表示方式。
Unicode将0xD800-0xDFFF保留出来,(2048)进行扩充用。占用4个字节。
前两个字节0xD800-0xD8FF.后两个字节为0xDC00-0xDFFF
如果文件以0xFE 0xFF开头表明文本的其余部分是Big-Endian的Utf-16编码(高字节在前,低字节在后)
如果以0xFF 0xFE开头,表明是Little-Endian的utf-16编码(高字节在后,低字节在前)
设置系统默认字符集
System.setProperty("file.encoding","iso8859-1");//美国字符集
System.getProperties().list(System.out);//打印
new String(strInfo.getBytes("iso8859-1"),"gb2312"));//原始码是Unicode.方可解码。
如果直接用“iso8859-1”进行Unicode编码.格式一般是把字节对半拆开,然后再在前加两个00
乱码情况:
1,编写时的指定的编码,和输出时的编码不一致
2,编写时指定的编码,外部不支持
3,编写时指定的编码,外部也支持。但是误导使用者是另一种编码
- 字符编码介绍
- 字符编码方式介绍
- 字符编码介绍
- 字符编码介绍
- 各种字符编码介绍
- 字符编码介绍
- 字符编码介绍
- 字符编码简单介绍
- 字符编码介绍
- 字符,字节,编码的介绍
- 收集的字符编码介绍
- 黑马程序员:字符编码介绍
- 字符编码介绍(二)Unicode
- 字符的编码方式介绍
- 字符编码介绍 通俗易懂 强烈推荐
- MySQL的字符编码的介绍
- 各种字符编码介绍 (网上转载)
- 字符与编码相关概念的介绍
- 日本地震使使部分区域GPS坐标网平移2.5米
- 北斗卫星导航系统将进入民用领域
- GCC-3.4.6源代码学习笔记(176)
- IE9 开启硬件加速,访问某些网站的时候,flash插件会内存泄露 ?
- 杨维刚建议将国家测绘局更名
- 字符编码介绍
- ubuntu下桌面显示内容配置
- ad-hoc配置
- WinDjView对AfxMessageBox的定制
- Studying note of GCC-3.4.6 source (176)
- GCC-3.4.6源代码学习笔记(177)
- C#强化系列文章一:ViewState使用兼谈序列化 [转]
- Studying note of GCC-3.4.6 source (177)
- woefuoewjafdsaufomewoaufodmsalfueowamf