我使用Twisted从套接字接收数据。 我的协议类继承自Protocol。
由于Python 2. *中没有字节类型,因此接收数据的类型为str。 当然,len(数据)给出了字符串的长度,但我怎么知道 收到的字节数?没有sizeof或类似的东西允许 我知道字节数? 或者我应该考虑无论平台如何,字节数将是2 * len(数据)?
提前致谢
答案 0 :(得分:4)
字符串的长度是以字节为单位的长度。
答案 1 :(得分:3)
在Python 2中,
str
→一系列字节,有时用作ASCII文本bytes
→str
的别名(在Python 2.6及更高版本中可用)unicode
→一系列unicode代码单元(UCS-2或UCS-4,具体取决于编译时选项,默认情况下为UCS-2)在Python 3中,
str
→一系列unicode代码单元(UCS-4)bytes
→字节序列unicode
→不再这样了,你的意思是str
将传递给dataReceived
的类型视为bytes
。在Python 2.x中它是bytes
,当Twisted被移植到Python 3.x时它将是bytes
。
因此,接收段的字节长度只是len(data)
。