neolee / pilot

进入编程世界的第一课
588 stars 842 forks source link

Python采用的字符编码格式 #1454

Closed Totie-O closed 10 months ago

Totie-O commented 3 years ago

我听了老师在b站的课程,还有看了老师写的教程,有几个不是不是很清楚的点。

  1. 老师视频课说的人类现在使用统一的是unicode字符集,教程写的却是UCS,这两者有啥不同?
  2. 老师在第二节视频说到Python采用unicode编码,但在第一节视频说到Python采用的是UCS—4的格式编码,这两者有何不同?
  3. UCS—4是unicode的变种,unicode是字符集,但UCS—4却是编码格式。
neolee commented 3 years ago
  1. 没有不同,UCS = Universal Coded Character Set = Unicode 字符集。
  2. “Unicode 字符集” 和 “Unicode 编码” 是不同的东西,字符集你可以理解为一个个字,而字符编码是一种编码方式,帮助你查找到你要的字符,针对 “Unicode 字符集” 有好几种不同的编码方式,比如 UTF-8、UCS-2、UCS-4。Python 采用的是 Unicode 字符集和 UCS-4 编码方式。
  3. 见上,UCS-4 是一种针对 Unicode 字符集 的编码方式;所以正确的理解是:UCS 是字符集,UCS-4 是编码方式,而“Unicode”只是一个修饰词而已。
Totie-O commented 3 years ago

image 老师你看这里,他说源文件以UTF-8编码方式处理,跟你讲的UCS-4不同,求解。

neolee commented 3 years ago

你截图里说的是另一件事,就是你的 Python 源文件(.py 文件)的编码方式,这个是可以在源文件头上指定的,你指定什么编码 Python 解释器就按照什么编码来处理。

我的课上说的是,Python 语言内部对字符串的处理是用 UCS-4 来做的。