ASCII-->Ansi-->Unicode-->UTF8 关于编码 自己的总结
各种不同的编码 无非就是效率 最大化。
我猜测编码的进化流程:
ASCII(American Standard Code for Information Interchange)----满足了美国和西方国家。但是只能传输英文。------->>>
Ansi(American National Standards Institute)------后来各个国家眼热 为了自己的安全,因为要战争吗,设计了自己的一套。可以传输英文和本土语言------->>>
Unicode(Universal code 也可以称UTF-16)-------------后来不打仗了,各个国家要合作共赢,于是国际组织设计了一套包容全球语言的编码,这种编码的最小字节是2个字节,具体哪个国家的语言再前,哪个国家再后,要看这个国家的实力了,非洲没实力,所以只能靠后排,那么就会导致一个非洲英文字母a 都需要4个字节,操蛋。那个时候的中国有点实力还好,大多数常用中文70%只占2个字节,不常用的(30%)占3个字节------------>>>
UTF-8(8-bit Unicode Transformation Format)-------unicode的设计目的是为了用一种设计方式,兼容全球语言,方便全球通信,但是设计的时候,我猜测有过争执,到底 最小字节是1还是2呢。这个是没有答案的,看对谁有利了。如果最小用一个字节 则对西方国家有利。如果最小用2个字节 则对除了西方国家 的其它国家都有利。举例:东方国家 中国 日本 韩国 非洲国家 中东地区的国家 等等。unicode 即UTF-16 用最小2个字节 是一种适中的方法,就是说 牺牲一点西方国家 但是 能兼顾到很多国家 。就这 西方国家不满意了,毕竟 西方国家是贪婪的 资本主义。他们认为 不应该牺牲 他们 来兼顾更多的国家。于是 他们又发明了 或者说 unicode的另一种表达方式 用 最小1个字节开始 来表达。这样 对西方国家 就有利。因为英文只占一个字节,但是对其它国家都不利,因为会导致 其它国家的排序 更靠后。比如中文UTF-8下 50%的中文占两个字节,30%占3个字节,20%占4个字节。
所以根据情况来选择了,如果你是西方国家 不想走向国际的话 就只用 ascii就行 1个字节。如果要走向国际 有两种选择要么UTF-8 要么UNICODE,如果你以本土为主 其它国家为辅 可以UTF-8,如果以其它国家为主
可以UNICODE。
如果你是东方国家 比如中国,不想走向国际 挣很多国家的钱的话 可以用ansi 即GBK 最节省资源。如果你要走向国际 要么UTF-8 要么UNICODE ,中国人口多 中国为主的话 可以 UNICODE 西方为主的话 可以 UTF-8.
凡事有利有弊 ,自己根据情况 酌情选择。
到点了 得赶紧回去吃饭了。
ASCII-->Ansi-->Unicode-->UTF8 关于编码 自己的总结的更多相关文章
- 各种字符编码方式详解及由来(ANSI,UNICODE,UTF-8,GB2312,GBK)
一直对字符的各种编码方式懵懵懂懂,什么ANSI UNICODE UTF-8 GB2312 GBK DBCS UCS……是不是看的很晕,假如您细细的阅读本文你一定可以清晰的理解他们.Let's go! ...
- 【转】Unicode utf8等编码类型的原理
原文地址http://www.cnblogs.com/daxiong2014/p/4768681.html Unicode utf8等编码类型的原理 1.ASCII码 我们知道,在计算机内部,所有的 ...
- 编码 ASCII, GBK, Unicode+utf-8
0. 1.参考 网页编码就是那点事 阮一峰 字符编码笔记:ASCII,Unicode 和 UTF-8 2.总结 美国 ASCII 码 发音: /ˈæski/ :128个字符,只占用了一个字节的后面7位 ...
- ascii unicode utf-8 url编码
ascii 编码 计算机内部,所有信息最终都是一个二进制值 上个世纪60年代,美国制定了一套字符编码ascii ascii 编码就是定义:英语字符与二进制位之间的关系 unixcs unicode编码 ...
- [转]Unicode utf8等编码类型的原理
FROM:http://www.cnblogs.com/daxiong2014/p/4768681.html 1.ASCII码 我们知道,在计算机内部,所有的信息最终都表示为一个二进 ...
- 字符编解码的故事(ASCII,GBK,Unicode,Utf-8区别)
很久很久以前,有一群人,他们决定用8个可以开合的晶体管来组合成不同的状态,以表示世界上的万物.他们认为8个开关状态作为原子单位很好,于是他们把这称为"字节". 再后来,他们又做了一 ...
- Unicode utf8等编码类型的原理
1.ASCII码 我们知道,在计算机内部,所有的信息最终都表示为一个二进制的字符串.每一个二进制位(bit)有0和1两种状态,因此八个二进制位就可以组合出256种状态,这被称为一个字节(byte). ...
- [转]Python的ASCII, GB2312, Unicode , UTF-8
2007-12-13 10:50:47| 分类: Python实用软件编|举报|字号 订阅 ASCII 是一种字符集,包括大小写的英文字母.数字.控制字符等,它用一个字节表示,范围是 0-1 ...
- Python的ASCII, GB2312, Unicode , UTF-8 相互转换
ASCII 是一种字符集,包括大小写的英文字母.数字.控制字符等,它用一个字节表示,范围是 0-127 Unicode分为UTF-8和UTF-16.UTF-8变长度的,最多 6 个字节,小于 127 ...
- python 保存文本txt格式之总结篇,ANSI,unicode,UTF-8
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAEmCAIAAACmsIlUAAAgAElEQVR4nOydezxU+f/HP49WSstKkZ
随机推荐
- Hive(三)hive的高级操作
一.hive的各种join操作 语法结构:join_table:table_reference JOIN table_factor [join_condition]| table_reference ...
- 解题:CTSC 2017 吉夫特
题面 首先有个结论:$C_n^m$为奇数当且仅当$m$是$n$的一个子集 于是从后往前推,记录每个数出现的位置,然后对每个位置枚举子集统计在它后面的贡献即可 #include<cstdio> ...
- YII2 model where 条件拼接
熟悉Yii2的查询条件后,用Active Record查询数据非常方便. 以下我们介绍where()方法当中,条件的拼装方式. #某个值为null,会用IS NULL来生成语句: ['type' =& ...
- Howto run google-chrome as root
Just want to add a permanent solution to the problem: 1. Open google-chrome located in /usr/bin with ...
- jsp 项目中 web.xml 的作用
每个 web 应用的 WEB-INF 路径下(而且必须位于该路径)的 web.xml 文件被称为配置描述符. 对于 java web 应用而言,WEB-INF 是一个特殊的文件夹,web 容器会包含该 ...
- sql命令创建数据库
mysql create database 指定utf-8编码 CREATE DATABASE IF NOT EXISTS thinkphp DEFAULT CHARSET utf8 COLLATE ...
- Windows 2008 R2上配置IIS7或IIS7.5中的URLRewrite(URL重写)实例
1. 安装URL Rewrite模块 下载页面 re_write_x86_zh_CN.msi from microsoft re_write_x64_zh_CN.msi from microsoft安 ...
- Bootstrap 按钮下拉菜单
向下拉 <div class="dropdown"> <button class="btn btn-default" data-toggle= ...
- PlantUML类图
PlantUML类图 雨客 2016-04-08 11:38:03 浏览796 评论0 摘要: 类之间的关系 PlantUML用下面的符号来表示类之间的关系: 泛化,Generalization: ...
- Bargaining Table
Bargaining Table time limit per test 2 seconds memory limit per test 256 megabytes input standard in ...