2

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

由于 Python 2.* 中没有字节类型,因此接收到的数据类型为 str。当然, len (data) 给了我字符串的长度,但我怎么知道收到的字节数?没有 sizeof 或等效的东西可以让我知道字节数吗?还是我应该考虑无论平台如何,字节数都是 2 * len (data) ?

提前致谢

4

2 回答 2

4

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

于 2012-09-14T21:06:03.060 回答
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

将传递给的类型想象dataReceivedbytes。它bytes在 Python 2.x 中,bytes当 Twisted 被移植到 Python 3.x 时。

因此,接收到的段的字节长度很简单len(data)

于 2012-09-14T23:50:35.757 回答