我的问题是关于 python 3.0 字符串。
我的理解是,对于 line
str = "a"
,字符 'a' 被编码(例如使用 utf-8)并存储在 str 对象中。如果 'a' 的 UTF-8 表示为 1 个字节,则字符串为 1 个字节长。我对吗?如果上述情况属实,当我们使用 read() 读取二进制文件时会发生什么。假设我有一个包含两个字节二进制数据的两字节文件,我使用读取命令将其读取为字符串
open(fileName, mode='rb') str= file.read()
现在
str
将是两个字节长,每个字节将是存储在文件名中的内容。我对吗?如果我在上述观点上是正确的,那么 str 对象不是任何特定的编码格式(如 UTF 等),那么 python 字符串始终是 unicode 是什么意思?如果我调用 str.encode() 也会发生什么。会没有意义吗?
因为
str
从文件中读取的对象实际上是一个字节数组。有没有办法将它转换为 bytearray 类型?