各种文件编码
2015-10-21 09:34
176 查看
碰到过好多次文件编码问题了,但还是一直没搞得很清楚,在此做些整理。
在http://blog.csdn.net/lvxiangan/article/details/8151670
总体来讲,编码的发展历程是
ansi(ascii):英文标准码0-127,包括控制符和其他英文字符编码,这在后来一直统一没再变过,当然它只需要一个字节保存
gb2312和gbk:这两个是ancii码加上汉字的扩展,汉字多达10万,在ancii编码基础上再加一个字节表示汉字,共可表示字符65535个,包括了繁体字。因此一个中文字符包含两个字节。eclipse中默认编码方式为gbk。在Windows中文系统中ANSI是默认的编码方
式。对于英文文件是ASCII编码,对于简体中文文件是GB2312编码。
Unicode编码:顾名思义,这是国际统一标准编码,在这之前各国标准编码不统一,微软等公司需要为各国的计算机系统定制符合不同编码标准的系统,显然,成本太高,并且互联网的出现让不同编码标准的计算机交互变得困难,如:两国的邮件系统,会因为
使用不同的编码标准而导致接受方收到的邮件是乱码。
utf-8和utf-16编码:UTF的意思是(UCS Transfer Format),显然是随着互联网的出现,需要解决Unicode在网络上的传输问题。顾名思义,UTF8就是每次8个位传输数据,而UTF16就是每次16个位,只不过为了传输时的可靠性,从UNICODE到UTF时并不是直
接的对应,而是要过一些算法和规则来转换。UTF-8就是在互联网上使用最广的一种unicode的实现方式。
从UNICODE到UTF8的转换规则:
Unicode
UTF-8
0000 - 007F
0xxxxxxx
0080 - 07FF
110xxxxx 10xxxxxx
0800 - FFFF
1110xxxx 10xxxxxx 10xxxxxx
在http://blog.csdn.net/lvxiangan/article/details/8151670
总体来讲,编码的发展历程是
ansi(ascii):英文标准码0-127,包括控制符和其他英文字符编码,这在后来一直统一没再变过,当然它只需要一个字节保存
gb2312和gbk:这两个是ancii码加上汉字的扩展,汉字多达10万,在ancii编码基础上再加一个字节表示汉字,共可表示字符65535个,包括了繁体字。因此一个中文字符包含两个字节。eclipse中默认编码方式为gbk。在Windows中文系统中ANSI是默认的编码方
式。对于英文文件是ASCII编码,对于简体中文文件是GB2312编码。
Unicode编码:顾名思义,这是国际统一标准编码,在这之前各国标准编码不统一,微软等公司需要为各国的计算机系统定制符合不同编码标准的系统,显然,成本太高,并且互联网的出现让不同编码标准的计算机交互变得困难,如:两国的邮件系统,会因为
使用不同的编码标准而导致接受方收到的邮件是乱码。
utf-8和utf-16编码:UTF的意思是(UCS Transfer Format),显然是随着互联网的出现,需要解决Unicode在网络上的传输问题。顾名思义,UTF8就是每次8个位传输数据,而UTF16就是每次16个位,只不过为了传输时的可靠性,从UNICODE到UTF时并不是直
接的对应,而是要过一些算法和规则来转换。UTF-8就是在互联网上使用最广的一种unicode的实现方式。
从UNICODE到UTF8的转换规则:
Unicode
UTF-8
0000 - 007F
0xxxxxxx
0080 - 07FF
110xxxxx 10xxxxxx
0800 - FFFF
1110xxxx 10xxxxxx 10xxxxxx
相关文章推荐
- print输出格式总结
- Linux时间戳和标准时间的互转-zz
- Objective-C Foundation框架实践——NSNumber(一)
- linux下批量替换文件内容
- 每天一个linux命令(16):which命令
- 吃货齐聚!职场中最贪吃的部门排行揭晓
- 面试会遇到的正则--去除掉js代码,或是html中代码
- avalon源码分析(转)
- contentSize、contentInset和contentOffset区别
- AFNetworking 3.0迁移指南
- [AndroidUI]自定义view(三):实现圆环进度条
- 虚拟化技术
- Centos6.5下搭建Tomcat
- 设计模式之抽象工厂模式
- php unserialize 返回false的解决方法
- 微信平台开发相关的问题记录
- Gradle 1.12用户指南翻译——第四十二章. Announce插件
- 【投稿】iOS 9之适配ATS
- Gradle 1.12用户指南翻译——第四十二章. Announce插件
- 遍历技巧:2,3,4sum&3sum closest&set matrix zeroes&Container With Most Water