专栏首页算法channel怎么理解Unicode,utf-8,ASCII这些编码?

怎么理解Unicode,utf-8,ASCII这些编码?

昨天文章发出来后,有几个读者问我,编码这块怎么掌握,感觉总是很模糊,就知道个utf-8编码,到底如何掌握。

我其实了解也不深刻,把我知道的字符编码主要知识点,总结如下:

  1. Unicode 是最常用的一个字符集,只规定字符的编码,开头是'\u',如'\u4e25'对应字符是,\u005c'表示反斜杠,详细编码和字符对应表可参考:https://zh.wikipedia.org/wiki/Unicode%E5%AD%97%E7%AC%A6%E5%88%97%E8%A1%A8
  2. ASCII编码一共规定了128个字符的编码,是美国人上世纪60年代制定的,记住只包括128个字符。1个字节能表示256个不同值,但只包括128个,所以第一位统一为0,后七位用来表示字符。
  3. 另一个常识:英语用上面ASCII编码的128个符号编码就够了,但其他语言,128个符号是不够的!!!
  4. 汉字多达10万不同字符。一个字节只能表示256种符号,肯定不够。那怎么办?必须使用多个字节表达一个符号。
  5. 如果使用2个字节表示一个符号,可能性有:256 x 256 = 65536
  6. 上面提到Unicode只是一个字符集,不管存储实现它们的事情。同一个字符使用不同的存储方法,解析出来就会有很大问题。所以,急需要一种统一的编码方式。
  7. UTF-8编码被互联网广泛使用,它是Unicode字符集的一种极佳的存储方法。首先它是变长度,存储ASCII字符时,用1个字节存储它;存储汉字时,使用至少3个字节。这种变长度存储,大大提高了存储效率。
  8. UTF-8有一套设计精良的编码规则,感兴趣的可以去看看。

本文分享自微信公众号 - Python与机器学习算法频道(alg-channel),作者:zhenguo

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2021-04-13

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Java编码ASCII、GB2312、GBK、Unicode、UTF-8、UTF-16 编码方式详解

    American Standard Code for Information Interchange。最早最通用的单字节编码系统,因为发明时间早,所以ASCII...

    JavaEdge
  • python2.7 的中文编码处理,解决UnicodeEncodeError: 'ascii' codec can't encode character 问题

    用户1214487
  • 转载:python的编码处理(一)

    最近业务中需要用 Python 写一些脚本。尽管脚本的交互只是命令行 + 日志输出,但是为了让界面友好些,我还是决定用中文输出日志信息。 

    黯然销魂掌
  • 字符编码那点事:快速理解ASCII、Unicode、GBK和UTF-8

    原作者:阮一峰(ruanyifeng.com),现重新整理发布,感谢原作者的无私分享。

    JackJiang
  • Python3的编码问题

    ​介绍Python3中的编码问题前,第一个段落对字节、ASCII​与Unicode与UTF-8等进行基本介绍,如果不对这几种编码犯头晕,可直接跳过。

    py3study
  • unicode、utf-8、ansi、gbk、gb2312编码详解

    在开始本文前,我需要大家思考一个问题:你知道联通为什么干不过移动吗? 我们来看看微软站在哪边吧,用记事本写下联通两个字:

    tnt阿信
  • 一文解开java中字符串编码的小秘密

    在本文中你将了解到Unicode和UTF-8,UTF-16,UTF-32的关系,同时你还会了解变种UTF-8,并且探讨一下UTF-8和变种UTF-8在java中...

    程序那些事
  • 学点编码知识又不会死:Unicode的流言终结者和编码大揭秘

    如果你是一个生活在2003年的程序员,却不了解字符、字符集、编码和Unicode这些基础知识。那你可要小心了,要是被我抓到你,我会让你在潜水艇里剥六个月洋葱来惩...

    FB客服
  • 【Web技术】295- 重新复习 Unicode 和 UTF-8

    一直以来总是对 Unicode、 UTF-8 等编码知识懵懵懂懂的,尤其是在做项目过程中只要涉及到几个编码之间的转换,都得到网上搜索一番,根据别人的经验照葫芦画...

    pingan8787

扫码关注云+社区

领取腾讯云代金券