从TypeError的答案中可以看出,有两种不同的方法可以将字符串转换为字节:'str'不支持缓冲区接口
以下哪种方法更好或更Pythonic?还是仅仅是个人喜好问题?
b = bytes(mystring, 'utf-8')
b = mystring.encode('utf-8')
bytes(item, "utf8")
,因为显式要好于隐式,所以... str.encode( )
默默地默认为字节,使您的Unicode-zen更为丰富,但Explicit-Zen更少。同样,“通用”不是我喜欢遵循的术语。另外,,bytes(item, "utf8")
更像是str()
和b"string"
符号。如果我真不明白您的原因,我深表歉意。谢谢。
encode()
它没有调用bytes()
,反之亦然。当然,这不是立即显而易见的,这就是为什么我问这个问题。