小编典典

字节字符串与Unicode字符串。蟒蛇

python

您能否详细说明Python中字节字符串和Unicode字符串之间的区别。我读过这个

字节码只是将源代码转换为字节数组

这是否意味着Python具有自己的编码/编码格式?还是使用操作系统设置?我不明白 你能解释一下吗?谢谢!


阅读 199

收藏
2020-12-20

共1个答案

小编典典

没有python不使用自己的编码。它将使用它有权访问并指定的任何编码。中的字符str代表一个unicode字符。但是,要表示256个以上的字符,单个unicode编码每个字符要使用一个以上的字节来表示许多字符。bytearray对象使您可以访问底层字节。str对象具有以下encode方法:该方法采用代表编码的字符串,并返回代表该编码中的字符串的bytearray对象。bytearray对象具有以下decode方法:该方法采用表示编码的字符串,并返回将str解释bytearray为以给定编码编码的字符串所得的结果。这是一个例子。

>>> 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

2020-12-20