关于UTF-8ASCIIUnicodegbkgb2312之间的关系的笔记
Posted wystanxu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于UTF-8ASCIIUnicodegbkgb2312之间的关系的笔记相关的知识,希望对你有一定的参考价值。
一直对于字符编码不是很清晰,今天各种百度百科刷一下,最后看到一篇文章:
https://www.zhihu.com/question/23374078
写的实在太好了,以上总结就是 ASCII => GB2312 => GBK => Unicode。
unicode跟utf-8、utf -16、utf-32有什么关系呢?
Unicode 是「字符集」 UTF-8 是「编码规则」 字符集:为每一个「字符」分配一个唯一的 ID(学名为码位 / 码点 / Code Point) 编码规则:将「码位」转换为字节序列的规则(编码/解码 可以理解为 加密/解密 的过程) 转载自:https://www.zhihu.com/question/23374078
unicode,gbk和大五码就是编码的值,而utf-8,uft-16之类就是这个值的表现形式。 utf的推出也是为了解决unicode在不同机器之中的传输差异问题、以及内存浪费的问题,比如2个8bit传输一个英文字母,那么高位字节就全是0000而浪费了一倍的内存。 所以utf-8代表的unicode码,对于ASCII就能表示的字符,内存是浪费的,因为有个字节是空的。utf比gbk是更加浪费内存的。 utf8\\16\\32是unicode的三套编码方式,utf-8之中字符是以8位序列来编码的,16、32同理。考虑到最初的目的,通常说的unicode编码指的是utf-16 (unicode的最初目标是用1个16位的编码来为超过65000个字符提供映射,但仍然不能覆盖历史上所有文字以及不能解决传输上的问题)。
为什么所有网站更钟情于utf-8呢?
UTF-8 的几个优势 1. 乱码不会扩散, GB2312 在丢失一字节等情况下会造成后续所有文字变成乱码2. 不会产生错误的搜索结果, GB2312 在搜索的时候相邻两个中文会拼出一个新的字符,导致出现错误的搜索结果3. 更大的字符集4. 很多语言直接支持 UTF-8,部分语言存储字符串到内存时直接使用 UTF-8编码。5. 与 GB2312/GB18030 相比, UTF-8是一个通用解决方案6. Unicode 一直有人维护,而 GB18030 下一次更新不知道会是什么时候了。 另 对于中文, UTF-8 和 GB2312 在 gzip 压缩后都差不多,所以用来做网页对带宽影响很小 作者:李道兵 链接:https://www.zhihu.com/question/19817672/answer/20527784 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
GB2312、GBK、GB18030 这几种字符集的主要区别是什么?
http://www.cnblogs.com/malecrab/p/5300497.html
创建数据库的时候众多字符编码、排序规则又该如何选择呢、
sublime的常用设置
{ // 配色选择 "color_scheme": "Packages/Color Scheme - Default/Monokai.tmTheme", // 字体大小 "font_size": 11, "ignored_packages": [ "Vintage" ], // 显示编码 "show_encoding": true, "show_line_endings": true, //把 tab 转换成4个空格 "tab_size": 4, //把tab 转换成 空格 "translate_tabs_to_spaces": true , //主题选择 "theme": "Adaptive.sublime-theme" }
推荐书籍:
蒋本珊 -《计算机组成原理》
以上是关于关于UTF-8ASCIIUnicodegbkgb2312之间的关系的笔记的主要内容,如果未能解决你的问题,请参考以下文章