dataReceived接收了多少字节?

时间:2012-09-14 20:58:37

标签: python twisted

我使用Twisted从套接字接收数据。 我的协议类继承自Protocol。

由于Python 2. *中没有字节类型,因此接收数据的类型为str。 当然,len(数据)给出了字符串的长度,但我怎么知道 收到的字节数?没有sizeof或类似的东西允许 我知道字节数? 或者我应该考虑无论平台如何,字节数将是2 * len(数据)?

提前致谢

2 个答案:

答案 0 :(得分:4)

字符串的长度是以字节为单位的长度。

答案 1 :(得分:3)

在Python 2中,

  • str→一系列字节,有时用作ASCII文本
  • bytesstr的别名(在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)