相关疑难解决方法(0)

什么是Python字节串?

什么是Python字节串?

我所能找到的只是关于如何编码为bytestring或解码为ascii或的主题utf-8.我试图了解它是如何工作的.在普通的ASCII字符串中,它是一个数组或字符列表,每个字符代表一个0-255的ASCII值,这就是你知道数字代表什么字符的方式.在Unicode中,它是字符的8或16字节表示,告诉您它是什么字符.

那么什么是字节串?Python如何知道哪些字符代表什么?它是如何在引擎盖下工作的?既然你可以打印甚至返回这些字符串,它会显示字符串表示,我不太明白......

好的,所以我的观点肯定会在这里错过.我被告知这是一个不可变的字节序列,没有任何特殊的解释.

一个字节序列..好吧,让我们说一个字节:
'a'.encode()返回b'a'.

很简单.为什么我能看到一个

说我得到的ASCII值一个,这样做:
printf "%d" "'a"

它返回97.好的,好的,ASCII字符的整数值a.如果我们将97解释为ASCII,比如在C中char,那么我们得到这封信a.很公平.如果我们将字节表示转换为位,我们得到:

01100001

2 ^ 0 + 2 ^ 5 + 2 ^ 6 = 97.凉.

那么为什么要'a'.encode()返回b'a'而不是01100001??
如果它没有特定的解释,它不应该返回类似的东西b'01100001'吗?
似乎像ASCII一样解释它.

有人提到它调用__repr__了bytestring,所以它以人类可读的形式显示.但是,即使我做了类似的事情:

with open('testbytestring.txt', 'wb') as f:
    f.write(b'helloworld') …
Run Code Online (Sandbox Code Playgroud)

python string bytestring

38
推荐指数
3
解决办法
4万
查看次数

标签 统计

bytestring ×1

python ×1

string ×1