1、计算机中的字符编码问题

  • 最早是ASCII编码,美国人发明,所以只把127个字符进行编码,只需要一个字节,字符A的编码是65,字符z编码是122。
  • 中文字符显然一个字节编码不够,且为了不和ASCII冲突,制定GB2312编码,至少需要两个字节进行编码。

那么,世界上各种语言有各种语言的编码,那么在多语言混合的文本中,显示会有乱码。

  • 所以,出现了Unicode编码,通常使用两个字节(生僻字符会用到四个字节)编码所有的语言字符。但是在大多是英字符的文本中,这种编码在存储和传输上非常不划算。
  • 之后出现了UTF-8编码,根据字符的不同大小使用1-6个字节编码。通常英文是一个字节,汉字是三个字节,生僻字符4-6个字节。

UTF-8还有一个好处,ASCII编码可以看做UTF-8编码的一部分,在ASCII下历史遗留软件可以在UTF-8环境下继续工作。

2、现在计算机系统通用的字符编码工作方式

在计算机内存中,统一使用Unicode编码,当需要保存到硬盘或者需要传输的时候,就转换为UTF-8编码。
用记事本编辑的时候,从文件读取的UTF-8字符被转换为Unicode字符到内存里,编辑完成后,保存的时候再把Unicode转换为UTF-8保存到文件:

(018)机器学习_python基础学习笔记

浏览网页的时候,服务器会把动态生成的Unicode内容转换为UTF-8再传输到浏览器:

(018)机器学习_python基础学习笔记

3、python中的字符编码

在最新的Python 3版本中,字符串是以Unicode编码的,也就是说,Python的字符串支持多语言。

相关文章:

  • 2021-12-22
  • 2021-08-12
  • 2021-09-13
  • 2021-11-09
  • 2022-12-23
  • 2021-11-11
  • 2021-05-08
  • 2021-05-28
猜你喜欢
  • 2021-07-10
  • 2021-05-18
  • 2021-11-09
  • 2021-09-14
  • 2021-05-17
  • 2021-08-26
  • 2021-12-31
相关资源
相似解决方案