理解字符编码

1、可以这样理解,字符编码就是对于字符集合,每个字符设置一个id,第几个表示某个字符。
2、举例来说,有两个编码,编码A只有三个字符 甲a1,编码B只有六个字符 abcd12,他们的编码分别是:
甲[00] a[01] 1[10];a[000] b[001] c[010] d[011] 1[100] 2[101]
3、对于不同字符编码,同一个id对应不同的字符,如甲[00] 和 a[000],同一个字符对应的Id不同,如a[01] 和 a[000]
4、这里要区分,当成某种编码解释和转化为某种编码。
5、当成某种编码解释,也就是只看Id,存在两种情况:一是编码A有意义的字符,当成编码B来看,是一堆没有意义的字符,也就是乱码。而是,当成编码B来看,编码B中可能没有对应的Id,错误。
6、转化为某种编码,先看编码A的Id,找到对应的字符,再看这个字符在编码B中对应哪个Id,将前一个Id换成编码B中对应的Id。比如:
编码A [0110]-->对应a1-->从编码B中找到a1对应的Id-->Id替换,变成[000100],这里存在一个问题,编码A中的一个字符, 在编码B中没有对应的字符,这个时候出错。

原文地址:https://www.cnblogs.com/nzbbody/p/4572719.html