再谈Python中的字符串与字符编码(推荐)
Python2的 默认编码 是ASCII,不能识别中文字符,需要显式指定字符编码;Python3的 默认编码 为Unicode,可以识别中文字符。一个字符不等价于一个字节,字符是人类能够识别的符号,而这些符号要保存到计算的存储中就需要用计算机能够识别的字节来表示。一个字符往往有多种表示方法,不同的表示方法会使用不同的字节数。字符编码的作用就是将人类可识别的字符转换为机器可识别的字节码,以及反向过程。UNICDOE才是真正的字符串,而用ASCII、UTF-8、GBK等字符编码表示的是字节串。一个优秀的编程语言,应该严格区分两者的关系并提供巧妙的完美的支持。最能说明这个问题的操作就是取一个包含中文字符的字符串的长度:
用户评论