Update p12_read_nested_and_variable_sized_binary_structures.rst

修正 Python 代码不显示问题
This commit is contained in:
R·Shishioh
2015-10-27 21:42:50 +08:00
parent 69082f1944
commit 4787eadc83

View File

@@ -15,7 +15,7 @@
``struct`` 模块可被用来编码/解码几乎所有类型的二进制的数据结构。为了解释清楚这种数据假设你用下面的Python数据结构
来表示一个组成一系列多边形的点的集合:
.. code-block::python
.. code-block:: python
polys = [
[ (1.0, 2.5), (3.5, 4.0), (2.5, 1.5) ],
@@ -30,17 +30,17 @@
+------+--------+------------------------------------+
|Byte | Type | Description |
+======+========+====================================+
|0 | int | File code (0x1234, little endian) |
|0 | int | 文件代码0x1234小端 |
+------+--------+------------------------------------+
|4 | double | Minimum x (little endian) |
|4 | double | x 的最小值小端 |
+------+--------+------------------------------------+
|12 | double | Minimum y (little endian) |
|12 | double | y 的最小值小端 |
+------+--------+------------------------------------+
|20 | double | Maximum x (little endian) |
|20 | double | x 的最大值小端 |
+------+--------+------------------------------------+
|28 | double | Maximum y (little endian) |
|28 | double | y 的最大值小端 |
+------+--------+------------------------------------+
|36 | int | Number of polygons (little endian)|
|36 | int | 三角形数量小端 |
+------+--------+------------------------------------+
紧跟着头部是一系列的多边形记录,编码格式如下:
@@ -50,9 +50,9 @@
+------+--------+-------------------------------------------+
|Byte | Type | Description |
+======+========+===========================================+
|0 | int | Record length including length (N bytes) |
|0 | int | 记录长度N字节 |
+------+--------+-------------------------------------------+
|4-N | Points | Pairs of (X,Y) coords as doubles |
|4-N | Points | (X,Y) 坐标以浮点数表示 |
+------+--------+-------------------------------------------+
为了写这样的文件你可以使用如下的Python代码
@@ -104,7 +104,7 @@
那未免也太繁杂了点。因此很显然应该有另一种解决方法可以简化这些步骤,让程序员只关注自最重要的事情。
在本小节接下来的部分,我会逐步演示一个更加优秀的解析字节数据的方案。
目标是可以给程序员提供一个高级的文件格式化方法,并简化读取和解包数据的细节。但是我要先提醒习啊你,
目标是可以给程序员提供一个高级的文件格式化方法,并简化读取和解包数据的细节。但是我要先提醒你,
本小节接下来的部分代码应该是整本书中最复杂最高级的例子,使用了大量的面向对象编程和元编程技术。
一定要仔细的阅读我们的讨论部分,另外也要参考下其他章节内容。