字符编码笔记
字符编码笔记
引入
在用python
处理多个文件的时候,里面存有不同编码,使用晚上copy的编码判断也不好使,而我的目的也很简单,就是在第二行加入一串文字,比如123456
.那么,在不同编码下是否能通过读取二进制字节的方式判断到\n
呢?
结论 在我们中文编码和utf8
中,是可以的,实际上所有的非可见字符都是可以的编码都跳过了这些非可见字符
编码一览表
字符编码其实从历史发展的角度来看更好理解,我们这里值讨论简体中文和英文,也就是如下的发展顺序
知识点速记
-
Unicode 只是一个符号集,他本身没有长度的限制,能用来表示地球上任意字符.只有Unicode的编码才有具体的字节长度.
-
UTF-8是Unicode的一个实现,规定了如何存储,完全兼容以前的ascII编码
-
UTF-8中应该是总没有字节序的概念,也就是先获取到的字节就是第一个字节,表示长度
-
UTF-8编码格式下,一个汉字需要至少3个char才能表示
-
我们打开记事本,保存为ANSI,可以发现ASC编码的abc依然是1个字节的,也就是说这个格式是GB18030,但是现实应用中,gbk也是可以只是用1字节表示asc的