您能否详细说明Python中字节字符串和Unicode字符串之间的区别。我读过这个:
字节码只是将源代码转换为字节数组
这是否意味着Python具有自己的编码/编码格式?还是使用操作系统设置?我不明白 你能解释一下吗?谢谢!
没有python不使用自己的编码。它将使用它有权访问并指定的任何编码。中的字符str代表一个unicode字符。但是,要表示256个以上的字符,单个unicode编码每个字符要使用一个以上的字节来表示许多字符。bytearray对象使您可以访问底层字节。str对象具有以下encode方法:该方法采用代表编码的字符串,并返回代表该编码中的字符串的bytearray对象。bytearray对象具有以下decode方法:该方法采用表示编码的字符串,并返回将str解释bytearray为以给定编码编码的字符串所得的结果。这是一个例子。
str
bytearray
encode
decode
>>> a = "αά".encode('utf-8') >>> a b'\xce\xb1\xce\xac' >>> a.decode('utf-8') 'αά'
我们可以看到UTF-8使用四个字节\ xce,\ xb1,\ xce和\ xac表示两个字符。在Ignacio Vazquez- Abrams提到Spolsky文章之后,我将阅读Python Unicode Howto。