ASCII码:全名是American Standard Code for Information Interchange,ASCII码中,一个英文字母(不分大小写)占一个字节的空间,范围0x00~0x7f,即0-128。

ANSI码:ANSI编码是一种对ASCII码的拓展。ANSI编码用0x00~0x7f 范围的1 个字节来表示 1 个英文字符,超出一个字节的 0x80~0xFFFF 范围来表示其他语言的其他字符。前126个与ASCII码相同,之后的字符全是某个国家语言的所有字符。容量2的16次方,即65536个字符。中文GB2312编码、韩文euc-kr编码、日文Shift_JIS编码等。各不相容

Unicode编码:为了统一所有文字的编码,Unicode应运而生。Unicode把所有语言都统一到一套编码里,这样就不会再有乱码问题了。Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求
对于 Unicode 有一些误解,它仅仅只是一个字符集,规定了符合对应的二进制代码,至于这个二进制代码如何存储则没有任何规定。它的想法很简单,就是为每个字符规定一个用来表示该字符的数字,仅此而已。

UTF-8编码:Unicode编码的一种编码实现,进行了信息压缩。一种变长的编码方式:它可以使用1~4个字节表示一个符号,根据不同的符号而变化字节长度,当字符在ASCII码的范围时,就用一个字节表示,保留了ASCII字符一个字节的编码做为它的一部分,如此一来UTF-8编码也可以是为视为一种对ASCII码的拓展。
*值得注意的是unicode编码中一个中文字符占2个字节,而UTF-8一个中文字符占3个字节。
*从unicode到uft-8并不是直接的对应,而是要过一些算法和规则来转换。
*在计算机内存中,统一使用Unicode编码,当需要保存到硬盘或者需要传输的时候,就转换为UTF-8编码。
----------------------------------------------------------详细了解UTF-8----------------------------------------------------------------------------
它可以使用 1 - 4 个字节表示一个字符,根据字符的不同变换长度。
1)编码规则如下:
对于单个字节的字符,第一位设为 0,后面的 7 位对应这个字符的 Unicode 码点。因此,对于英文中的 0 - 127 号字符,与 ASCII 码完全相同。这意味着 ASCII 码那个年代的文档用 UTF-8 编码打开完全没有问题。
2)对于需要使用 N 个字节来表示的字符(N > 1),第一个字节的前 N 位都设为 1,第 N + 1 位设为0,剩余的 N - 1 个字节的前两位都设位 10,剩下的二进制位则使用这个字符的 Unicode 码点来填充。
编码规则如下:
Unicode 十六进制码点范围   UTF-8 二进制
0000 0000 - 0000 007F  0xxxxxxx
0000 0080 - 0000 07FF  110xxxxx 10xxxxxx
0000 0800 - 0000 FFFF  1110xxxx 10xxxxxx 10xxxxxx
0001 0000 - 0010 FFFF  11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
----------------------------------------------------------详细了解UTF-8----------------------------------------------------------------------------

最新文章

  1. IP地址,子网掩码,默认网关,DNS服务器知识详解(转)
  2. Kali Linux渗透基础知识整理(二)漏洞扫描
  3. 【转】【MMX】 基于MMX指令集的程序设计简介
  4. git版本控制器
  5. Plan9 与 Plan9port
  6. 解决Android开发中,ActiveAndroid和Gson同时使用,对象序列化失败的问题
  7. RHEL 5.4下部署LVS(DR)+keepalived实现高性能高可用负载均衡
  8. Convert.ToInt32()与int.Parse()的区别 (转载)
  9. Fedora 17 修改GRUB启动菜单顺序
  10. Swift - 使用表格组件(UITableView)实现分组列表
  11. python webserver, based on SimpleHTTPServer
  12. sersync客户端搭建及配置
  13. Javascript高级编程学习笔记(17)—— 引用类型(6)基本包装类
  14. asp.net core C#设计一个实用的线程池
  15. appium入门(1)__ appium介绍
  16. PAT 乙级 1026 程序运行时间(15) C++版
  17. eCharts 折线图,动态绑定数据不更新图表的问题,
  18. 微服务设计 - api版本控制
  19. Win7中安装Windows PowerShell 3.0
  20. useradd添加用户

热门文章

  1. expect中使用exec执行shell命令
  2. pycharm 使用jupyter notebook 报错:'_xsrf' argument missing from POST
  3. PHP-note
  4. java将System.out.println的输出导出到文件中
  5. goldarch企业管理软件框架整体解决方案终于出来了
  6. BG.Sqoop
  7. Abp中SwaggerUI的接口文档添加上传文件参数类型
  8. 上传多张图片imgupload
  9. Linq in条件查询
  10. Es创建索引、设置和修改Mapping