-6

今天我第一次处理python代码。基本上,没有时间学习 python 教程。我是Java背景。如果你能帮助我使用 python 语法,那就太好了。一段代码:

def fromData(headerdata, offset = 0):
        """Return a new Header object from the supplied binary data."""
        (id, flags, qdc, anc, nsc, arc,) = \
              struct.unpack_from(">6H", headerdata, offset)
        qr_ = (flags >> Header.OFFSET_QR) & 0x1

问题:

  1. 这是什么

    (id, flags, qdc, anc, nsc, arc,) = \
          struct.unpack_from(">6H", headerdata, offset)
    

    意思是?它在做什么?

  2. 为什么“弧”以“,”结尾?
  3. 为什么qr后面跟着“_”
  4. 什么是>6H。你能重定向我的格式列表吗?
4

1 回答 1

0

ACstruct可以打包成平面二进制数据,这就是 Python 2 所说的字符串。该struct模块允许您获取代表这些 C 结构之一的字符串,并将其“解包”到 Python 数据结构中。

为此,您调用struct.unpack. 您需要指定格式字符串(如链接文档中所定义),它会返回从数据中解压缩的值的元组。

于 2012-11-20T21:17:01.840 回答