struct
Last updated
Was this helpful?
Last updated
Was this helpful?
ΠΡΠΎΡ ΠΌΠΎΠ΄ΡΠ»Ρ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ Python ΠΈ ΡΡΡΡΠΊΡΡΡΠ°ΠΌΠΈ C, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΡΠΌΠΈ ΠΊΠ°ΠΊ Π±Π°ΠΉΡΠΎΠ²ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ Python. ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΎ ΠΏΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ Π΄Π²ΠΎΠΈΡΠ½ΡΡ Π΄Π°Π½Π½ΡΡ , Ρ ΡΠ°Π½ΡΡΠΈΡ ΡΡ Π² ΡΠ°ΠΉΠ»Π°Ρ ΠΈΠ»ΠΈ ΠΈΠ· ΡΠ΅ΡΠ΅Π²ΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ, ΡΡΠ΅Π΄ΠΈ Π΄ΡΡΠ³ΠΈΡ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠ². ΠΠ½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΡΡΠΎΠΊΠΈ ΡΠΎΡΠΌΠ°ΡΠ° ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ½ΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΌΠ°ΠΊΠ΅ΡΠ° ΡΡΡΡΠΊΡΡΡ C ΠΈ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ Π²/ΠΈΠ· Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Python.
ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ struct (ΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ Struct) ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ Π±ΡΡΠ΅ΡΠ° buffer. ΠΡΠΎ ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΊ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» Π±ΡΡΠ΅ΡΠ° ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ Π±ΡΡΠ΅Ρ Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ ΡΡΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ Π·Π°ΠΏΠΈΡΠΈ ΠΈ ΡΡΠ΅Π½ΠΈΡ. ΠΠ°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΠΌΠΈ ΡΠΈΠΏΠ°ΠΌΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΌΠΈ Π΄Π»Ρ ΡΡΠΎΠΉ ΡΠ΅Π»ΠΈ, ΡΠ²Π»ΡΡΡΡΡ Π±Π°ΠΉΡΡ bytes ΠΈ Π±Π°ΠΉΡΠΎΠ²ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² bytearray, Π½ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠΈΠΏΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΠΊΠ°ΠΊ ΠΌΠ°ΡΡΠΈΠ² Π±Π°ΠΉΡΠΎΠ², ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» Π±ΡΡΠ΅ΡΠ°, ΡΠ°ΠΊ ΡΡΠΎ ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΈΡΠ°ΡΡ/Π·Π°ΠΏΠΎΠ»Π½ΡΡΡ Π±Π΅Π· Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ· Π±Π°ΠΉΡΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°.
ΠΠΎΠ΄ΡΠ»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ:
struct.error exception
- Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π±Π°ΠΉΡΠΎΠ²ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ Ρ ΡΠΏΠ°ΠΊΠΎΠ²Π°Π½Π½ΡΠΌΠΈ Π² Π·Π°Π΄Π°Π½Π½ΠΎΠΌ ΡΠΎΡΠΌΠ°ΡΠ΅ Π΄Π°Π½Π½ΡΠΌΠΈ
struct.pack_into ()
- ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²ΡΠ²Π°Π΅Ρ ΡΠΏΠ°ΠΊΠΎΠ²Π°Π½Π½ΡΠΉ Π±Π°ΠΉΡΠΎΠ²ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΊΠΎΡΡΠ΅ΠΆ
struct.unpack_from ()
struct.iter_unpack ()
struct.calcsize ()
Π‘ΡΡΠΎΠΊΠΈ ΡΠΎΡΠΌΠ°ΡΠ° - ΡΡΠΎ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ Π΄Π»Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΡ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΌΠ°ΠΊΠ΅ΡΠ° ΠΏΡΠΈ ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠ΅ ΠΈ ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠ΅ Π΄Π°Π½Π½ΡΡ . ΠΠ½ΠΈ ΡΠΎΡΡΠΎΡΡ ΠΈΠ· ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΡΠΎΡΠΌΠ°ΡΠ°, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΡΠΈΠΏ ΡΠΏΠ°ΠΊΠΎΠ²ΡΠ²Π°Π΅ΠΌΡΡ /ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²ΡΠ²Π°Π΅ΠΌΡΡ Π΄Π°Π½Π½ΡΡ . ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΡΡΡΠ΅ΡΡΠ²ΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠΎΡΡΠ΄ΠΊΠΎΠΌ Π±Π°ΠΉΡΠΎΠ², ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ ΠΈ Π²ΡΡΠ°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ.
ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΠΈΠΏΡ C ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Ρ Π² ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠΌ ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠΌ ΡΠΎΡΠΌΠ°ΡΠ΅ ΠΈ ΠΏΠΎΡΡΠ΄ΠΊΠ΅ Π±Π°ΠΉΡΠΎΠ² ΠΈ ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π²ΡΡΠΎΠ²Π½Π΅Π½Ρ ΠΏΡΡΠ΅ΠΌ ΠΏΡΠΎΠΏΡΡΠΊΠ° Π±Π°ΠΉΡΠΎΠ² Π±Π»ΠΎΠΊΠ½ΠΎΡΠ° (Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΠΏΡΠ°Π²ΠΈΠ»Π°ΠΌΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΌΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠΌ C).
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Ρ, ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠΈΠΌΠ²ΠΎΠ» ΡΡΡΠΎΠΊΠΈ ΡΠΎΡΠΌΠ°ΡΠ° ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΡ ΠΏΠΎΡΡΠ΄ΠΊΠ° Π±Π°ΠΉΡΠΎΠ², ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΈ Π²ΡΡΠ°Π²Π½ΠΈΠ²Π°Π½ΠΈΡ ΡΠΏΠ°ΠΊΠΎΠ²Π°Π½Π½ΡΡ Π΄Π°Π½Π½ΡΡ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ ΡΠΎ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΠ°Π±Π»ΠΈΡΠ΅ΠΉ:
Π‘ΠΈΠΌΠ²ΠΎΠ»
ΠΠΎΡΡΠ΄ΠΎΠΊ Π±Π°ΠΉΡΠΎΠ²
Π Π°Π·ΠΌΠ΅Ρ
ΠΡΡΠ°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅
@
ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ
ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ
ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ
=
ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ
ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ
Π½Π΅Ρ
<
ΠΎΠ±ΡΠ°ΡΠ½ΡΠΉ (little-endian)
ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ
Π½Π΅Ρ
>
ΠΏΡΡΠΌΠΎΠΉ (big-endian)
ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ
Π½Π΅Ρ
!
ΡΠ΅ΡΠ΅Π²ΠΎΠΉ (ΡΠ°Π²Π΅Π½ ΠΏΡΡΠΌΠΎΠΌΡ)
ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ
Π½Π΅Ρ
ΠΡΠ»ΠΈ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠΈΠΌΠ²ΠΎΠ» Π½Π΅ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π²ΡΡΠ΅ΠΎΠΏΠΈΡΠ°Π½Π½ΡΡ
, ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ '@'
.
Π‘ΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ native ΠΏΠΎΡΡΠ΄ΠΎΠΊ Π±Π°ΠΉΡΠΎΠ² - ΠΏΡΡΠΌΠΎΠΉ ΠΈΠ»ΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΡΠΉ ΠΏΠΎΡΡΠ΄ΠΎΠΊ Π±Π°ΠΉΡΠΎΠ², Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Ρ
ΠΎΡΡ-ΡΠΈΡΡΠ΅ΠΌΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Intel x86 ΠΈ AMD64 (x86-64) ΠΈΠΌΠ΅ΡΡ ΠΎΠ±ΡΠ°ΡΠ½ΡΠΉ (little-endian)ΠΏΠΎΡΡΠ΄ΠΎΠΊ Π±Π°ΠΉΡΠΎΠ²; Motorola 68000 ΠΈ PowerPC G5 ΠΈΠΌΠ΅ΡΡ ΠΏΡΡΠΌΠΎΠΉ (big-endian) ΠΏΠΎΡΡΠ΄ΠΎΠΊ Π±Π°ΠΉΡΠΎΠ²; ARM ΠΈ Intel Itanium ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°Π΅ΠΌΡΠΉ ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ Π±Π°ΠΉΡΠΎΠ² (bi-endian). ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ sys.byteorder
Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΏΠΎΡΡΠ΄ΠΊΠ° Π±Π°ΠΉΡΠΎΠ² Π² Π²Π°ΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅.
Π‘ΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ native ΡΠ°Π·ΠΌΠ΅Ρ ΠΈ Π²ΡΡΠ°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ sizeof ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° C. ΠΡΠΎ Π²ΡΠ΅Π³Π΄Π° ΡΠΎΡΠ΅ΡΠ°Π΅ΡΡΡ Ρ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠΎΠΌ Π±Π°ΠΉΡΠΎΠ².
Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ standard ΡΠ°Π·ΠΌΠ΅Ρ Π·Π°Π²ΠΈΡΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΡ ΡΠΎΡΠΌΠ°ΡΠ° ΡΠΈΠΌΠ²ΠΎΠ»Π°; ΡΠΌ. ΡΠ°Π±Π»ΠΈΡΡ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ Β«Π‘ΠΈΠΌΠ²ΠΎΠ»Ρ ΡΠΎΡΠΌΠ°ΡΠ°Β».
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΠ°Π·Π½ΠΈΡΡ ΠΌΠ΅ΠΆΠ΄Ρ '@'
ΠΈ '='
: ΠΎΠ±Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ native ΠΏΠΎΡΡΠ΄ΠΎΠΊ Π±Π°ΠΉΡΠΎΠ², Π½ΠΎ ΡΠ°Π·ΠΌΠ΅Ρ ΠΈ Π²ΡΡΠ°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Ρ.
Π€ΠΎΡΠΌΠ° '!'
Π΄ΠΎΡΡΡΠΏΠ½Π° Π΄Π»Ρ ΡΠ΅Ρ
Π±Π΅Π΄Π½ΡΠ³, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠ²Π΅ΡΠΆΠ΄Π°ΡΡ, ΡΡΠΎ Π½Π΅ ΠΌΠΎΠ³ΡΡ Π²ΡΠΏΠΎΠΌΠ½ΠΈΡΡ, ΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΠΈ ΡΠ΅ΡΠ΅Π²ΠΎΠΉ ΠΏΠΎΡΡΠ΄ΠΎΠΊ Π±Π°ΠΉΡΠΎΠ² ΠΏΡΡΠΌΡΠΌ ΠΈΠ»ΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΡΠΌ.
ΠΠ΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ Π½Π΅ΡΠΎΠ΄Π½ΠΎΠΉ not-native ΠΏΠΎΡΡΠ΄ΠΎΠΊ Π±Π°ΠΉΡΠΎΠ² (ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»ΡΠ½Π°Ρ Π·Π°ΠΌΠ΅Π½Π° Π±Π°ΠΉΡΠΎΠ²); ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ Π²ΡΠ±ΠΎΡ '<'
ΠΈΠ»ΠΈ '>'
.
Π‘ΠΈΠΌΠ²ΠΎΠ»Ρ ΡΠΎΡΠΌΠ°ΡΠ° ΠΈΠΌΠ΅ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅; ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ C ΠΈ Python Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΡΠΌ, ΡΡΠΈΡΡΠ²Π°Ρ ΠΈΡ
ΡΠΈΠΏΡ. Π‘ΡΠΎΠ»Π±Π΅Ρ Β«Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ ΡΠ°Π·ΠΌΠ΅ΡΒ» ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΊ ΡΠ°Π·ΠΌΠ΅ΡΡ ΡΠΏΠ°ΠΊΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² Π±Π°ΠΉΡΠ°Ρ
ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ°; ΡΠΎ Π΅ΡΡΡ, ΠΊΠΎΠ³Π΄Π° ΡΡΡΠΎΠΊΠ° ΡΠΎΡΠΌΠ°ΡΠ° Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· '<'
, '>'
, '!'
ΠΈΠ»ΠΈ '='
. ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΡΠ°Π·ΠΌΠ΅Ρ ΡΠΏΠ°ΠΊΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ.
Π€ΠΎΡΠΌΠ°Ρ
Π’ΠΈΠΏ Π‘
Π’ΠΈΠΏ Python
Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅
x
pad byte
Π½Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ
c
char
Π±Π°ΠΉΡ Ρ Π΄Π»ΠΈΠ½ΠΎΠΉ 1
1
b
signed char
integer
1
(1), (2)
B
unsigned byte
integer
1
(2)
?
_Bool
bool
1
(1)
h
short
integer
2
(2)
H
unsigned short
integer
2
(2)
i
int
integer
4
(2)
I
unsigned int
integer
4
(2)
l
long
integer
4
(2)
L
unsigned long
integer
4
(2)
q
long long
integer
8
(2)
Q
unsigned long long
integer
8
(2)
n
size_t
integer
(3)
N
size_t
integer
(3)
e
(6)
float
2
(4)
f
float
float
4
(4)
d
double
float
8
(4)
s
char [ ]
bytes
p
char [ ]
bytes
P
void *
integer
(5)
ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ Π² Π²Π΅ΡΡΠΈΠΈ 3.3: ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠΎΡΠΌΠ°ΡΠΎΠ² 'n'
ΠΈ 'N'
.
ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ Π² Π²Π΅ΡΡΠΈΠΈ 3.6: ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠΎΡΠΌΠ°ΡΠ° 'e'
.
Π‘ΠΈΠΌΠ²ΠΎΠ»Ρ ΡΠΎΡΠΌΠ°ΡΠ° ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠ΅Π΄ΡΠ΅ΡΡΠ²ΠΎΠ²Π°ΡΡ ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΠΏΠΎΠ²ΡΠΎΡΠΎΠ². ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΡΠΎΠΊΠ° ΡΠΎΡΠΌΠ°ΡΠ° '4h'
ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅, ΡΡΠΎ ΠΈ 'hhhh'
.
ΠΡΠΎΠ±Π΅Π»Ρ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΡΠΌΠ°ΡΠ°ΠΌΠΈ ΠΈΠ³Π½ΠΎΡΠΈΡΡΡΡΡΡ; ΡΡΠ΅ΡΡΠΈΠΊ ΠΈ Π΅Π³ΠΎ ΡΠΎΡΠΌΠ°Ρ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΠΏΡΠΎΠ±Π΅Π»ΠΎΠ².
ΠΠ»Ρ ΡΠΈΠΌΠ²ΠΎΠ»Π° ΡΠΎΡΠΌΠ°ΡΠ° 's'
ΡΡΠ΅ΡΡΠΈΠΊ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ Π΄Π»ΠΈΠ½Π° Π±Π°ΠΉΡΠΎΠ², Π° Π½Π΅ ΠΊΠ°ΠΊ ΡΡΠ΅ΡΡΠΈΠΊ ΠΏΠΎΠ²ΡΠΎΡΠΎΠ², ΠΊΠ°ΠΊ Π΄Π»Ρ Π΄ΡΡΠ³ΠΈΡ
ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΡΠΎΡΠΌΠ°ΡΠ°; Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, '10s'
ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΠΎΠ΄Π½Ρ 10-Π±Π°ΠΉΡΠΎΠ²ΡΡ ΡΡΡΠΎΠΊΡ, Π° '10c'
ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ 10 ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ². ΠΡΠ»ΠΈ ΡΡΠ΅ΡΡΠΈΠΊ Π½Π΅ ΡΠΊΠ°Π·Π°Π½, ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΎΠ½ ΡΠ°Π²Π΅Π½ 1. ΠΠ»Ρ ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ ΡΡΡΠΎΠΊΠ° ΡΡΠ΅ΠΊΠ°Π΅ΡΡΡ ΠΈΠ»ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π½ΡΠ»Π΅Π²ΡΠΌΠΈ Π±Π°ΠΉΡΠ°ΠΌΠΈ, ΡΡΠΎΠ±Ρ ΠΎΠ½Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΎΠ²Π°Π»Π° ΡΠ°Π·ΠΌΠ΅ΡΡ. ΠΠ»Ρ ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠΈΡΡΡΡΠΈΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ bytes Π²ΡΠ΅Π³Π΄Π° ΠΈΠΌΠ΅Π΅Ρ ΡΠΎΡΠ½ΠΎ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π±Π°ΠΉΡΠΎΠ². ΠΠ°ΠΊ ΠΎΡΠΎΠ±ΡΠΉ ΡΠ»ΡΡΠ°ΠΉ, '0s'
ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΠΎΠ΄Π½Ρ ΠΏΡΡΡΡΡ ΡΡΡΠΎΠΊΡ (Π° '0c'
ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ 0 ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ²).
ΠΠ»Ρ ΡΠΈΠΌΠ²ΠΎΠ» ΡΠΎΡΠΌΠ°ΡΠ° '?'
, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ - True
ΠΈΠ»ΠΈ False
. ΠΡΠΈ ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΈΡΡΠΈΠ½Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°. ΠΠΈΠ±ΠΎ 0, Π»ΠΈΠ±ΠΎ 1 Π² ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠΌ ΠΈΠ»ΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΌ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠΈ bool Π±ΡΠ΄ΡΡ ΡΠΏΠ°ΠΊΠΎΠ²Π°Π½Ρ, ΠΈ Π»ΡΠ±ΠΎΠ΅ Π½Π΅Π½ΡΠ»Π΅Π²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ True
ΠΏΡΠΈ ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠ΅.
ΠΠ°Π·ΠΎΠ²ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ/ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ ΡΡΠ΅Ρ ΡΠ΅Π»ΡΡ ΡΠΈΡΠ΅Π»:
Π Π°ΡΠΏΠ°ΠΊΠΎΠ²Π°Π½Π½ΡΠΌ ΠΏΠΎΠ»ΡΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΡΠ²ΠΎΠΈΡΡ ΠΈΠΌΠ΅Π½Π°, Π½Π°Π·Π½Π°ΡΠΈΠ² ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ ΠΈΠ»ΠΈ Π·Π°ΠΊΠ»ΡΡΠΈΠ² ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π² ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΠΉ ΠΊΠΎΡΡΠ΅ΠΆ:
ΠΠΎΡΡΠ΄ΠΎΠΊ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΡΠΎΡΠΌΠ°ΡΠ° ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ²Π»ΠΈΡΡΡ Π½Π° ΡΠ°Π·ΠΌΠ΅Ρ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΠ΅ Π΄Π»Ρ ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΠ΅Π½ΠΈΡ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΊ Π²ΡΡΠ°Π²Π½ΠΈΠ²Π°Π½ΠΈΡ, ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ:
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠΎΡΠΌΠ°Ρ 'llh0l'
ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ Π΄Π²Π° Π±Π°ΠΉΡΠ° Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π² ΠΊΠΎΠ½ΡΠ΅, ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Ρ, ΡΡΠΎ Π΄Π»ΠΈΠ½Π½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π²ΡΡΠΎΠ²Π½Π΅Π½Ρ ΠΏΠΎ 4-Π±Π°ΠΉΡΠΎΠ²ΡΠΌ Π³ΡΠ°Π½ΠΈΡΠ°ΠΌ:
ΠΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ, ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠ³Π΄Π° Π΄Π΅ΠΉΡΡΠ²ΡΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ ΠΈ Π²ΡΡΠ°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅; ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ ΠΈ Π²ΡΡΠ°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅Ρ ΡΠΎΠ²ΠΌΠ΅ΡΠ΅Π½ΠΈΡ.
ΠΠΎΠ΄ΡΠ»Ρ struct ΡΠ°ΠΊΠΆΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠΈΠΏ:
struct.Struct class
Π‘ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ Struct ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΈ Π°ΡΡΠΈΠ±ΡΡΡ:
pack ()
pack_into ()
unpack ()
unpack_from ()
iter_unpack ()
format
size
Π’ΠΈΠΏ Β«ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π½ΠΎΠΉ ΡΠΎΡΠ½ΠΎΡΡΠΈΒ» IEEE 754 binary16 Π±ΡΠ» Π²Π²Π΅Π΄Π΅Π½ Π² ΡΠ΅Π΄Π°ΠΊΡΠΈΡ 2008 Π³ΠΎΠ΄Π° ΡΡΠ°Π½Π΄Π°ΡΡΠ° . ΠΠ½ ΠΈΠΌΠ΅Π΅Ρ Π·Π½Π°ΠΊΠΎΠ²ΡΠΉ Π±ΠΈΡ, 5-Π±ΠΈΡΠ½ΡΡ ΡΠΊΡΠΏΠΎΠ½Π΅Π½ΡΡ ΠΈ 11-Π±ΠΈΡΠ½ΡΡ ΡΠΎΡΠ½ΠΎΡΡΡ (Ρ ΡΠ²Π½ΠΎ ΡΠΎΡ
ΡΠ°Π½Π΅Π½Π½ΡΠΌΠΈ 10 Π±ΠΈΡΠ°ΠΌΠΈ) ΠΈ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠΈΡΠ»Π° ΠΎΡ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ 6.1e-05
Π΄ΠΎ 6.5e+04
Ρ ΠΏΠΎΠ»Π½ΠΎΠΉ ΡΠΎΡΠ½ΠΎΡΡΡΡ. ΠΡΠΎΡ ΡΠΈΠΏ ΡΠΈΡΠΎΠΊΠΎ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°ΠΌΠΈ C: Π½Π° ΡΠΈΠΏΠΈΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Π΅ Π±Π΅Π·Π·Π½Π°ΠΊΠΎΠ²ΠΎΠ΅ ΡΠΎΠΊΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ, Π½ΠΎ Π½Π΅ Π΄Π»Ρ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ
ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ. Π‘ΠΌ. ΡΡΡΠ°Π½ΠΈΡΡ ΠΠΈΠΊΠΈΠΏΠ΅Π΄ΠΈΠΈ ΠΎ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ.
ΠΡΠΈ ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ x
Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΡ
ΡΠΎΡΠΌΠ°ΡΠΎΠ² ('b'
, 'B'
, 'h'
, 'H'
, 'i'
, 'I'
, 'l'
, 'L'
, 'q'
, 'Q'
), Π΅ΡΠ»ΠΈ x
Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Π°ΠΌΠΈ Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎΠ³ΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΡΠΎΡΠΌΠ°ΡΠ°, Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ .
ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ Π² Π²Π΅ΡΡΠΈΠΈ 3.1: Π² Π²Π΅ΡΡΠΈΠΈ 3.0 Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ ΡΠΎΡΠΌΠ°ΡΡ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, Π²ΡΡ ΠΎΠ΄ΡΡΠΈΠ΅ Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Ρ Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎΠ³ΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°, ΠΈ Π²ΡΠ·ΡΠ²Π°Π»ΠΈ DeprecationWarning Π²ΠΌΠ΅ΡΡΠΎ .
Π‘ΠΈΠΌΠ²ΠΎΠ» ΡΠΎΡΠΌΠ°ΡΠ° 'p'
ΠΊΠΎΠ΄ΠΈΡΡΠ΅Ρ Β«Pascal stringΒ», ΠΎΠ·Π½Π°ΡΠ°ΡΡΡΡ ΠΊΠΎΡΠΎΡΠΊΡΡ ΡΡΡΠΎΠΊΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ, Ρ
ΡΠ°Π½ΡΡΡΡΡΡ Π² ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π΅ Π±Π°ΠΉΡΠΎΠ², ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌΠΎΠΌ ΡΡΠ΅ΡΡΠΈΠΊΠΎΠΌ. ΠΠ΅ΡΠ²ΡΠΉ ΡΠΎΡ
ΡΠ°Π½Π΅Π½Π½ΡΠΉ Π±Π°ΠΉΡ - ΡΡΠΎ Π΄Π»ΠΈΠ½Π° ΡΡΡΠΎΠΊΠΈ ΠΈΠ»ΠΈ 255, Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΌΠ΅Π½ΡΡΠ΅. ΠΠ°Π»Π΅Π΅ ΡΠ»Π΅Π΄ΡΡΡ Π±Π°ΠΉΡΡ ΡΡΡΠΎΠΊΠΈ. ΠΡΠ»ΠΈ ΡΡΡΠΎΠΊΠ°, ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½Π°Ρ Π² , ΡΠ»ΠΈΡΠΊΠΎΠΌ Π΄Π»ΠΈΠ½Π½Π°Ρ (Π΄Π»ΠΈΠ½Π½Π΅Π΅, ΡΠ΅ΠΌ count - 1
), ΡΠΎΡ
ΡΠ°Π½ΡΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π²Π΅Π΄ΡΡΠΈΠ΅ Π±Π°ΠΉΡΡ count - 1
ΡΡΡΠΎΠΊΠΈ. ΠΡΠ»ΠΈ ΡΡΡΠΎΠΊΠ° ΠΊΠΎΡΠΎΡΠ΅, ΡΠ΅ΠΌ count - 1
, ΠΎΠ½Π° Π΄ΠΎΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π½ΡΠ»Π΅Π²ΡΠΌΠΈ Π±Π°ΠΉΡΠ°ΠΌΠΈ, ΡΡΠΎΠ±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΎΡΡ ΡΠΎΠ²Π½ΠΎ count Π±Π°ΠΉΡΠΎΠ² Π²ΠΎ Π²ΡΠ΅Ρ
. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π΄Π»Ρ ΡΠΈΠΌΠ²ΠΎΠ» ΡΠΎΡΠΌΠ°ΡΠ° 'p'
ΠΏΠΎΡΡΠ΅Π±Π»ΡΠ΅Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π±Π°ΠΉΡΠΎΠ², Π½ΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠ°Ρ ΡΡΡΠΎΠΊΠ° Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ Π±ΠΎΠ»ΡΡΠ΅ 255 Π±Π°ΠΉΡΠΎΠ².
ΠΌΠΎΠ΄ΡΠ»Ρ - ΡΠΏΠ°ΠΊΠΎΠ²Π°Π½Π½ΠΎΠ΅ Π΄Π²ΠΎΠΈΡΠ½ΠΎΠ΅ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ ΠΎΠ΄Π½ΠΎΡΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ .
ΠΌΠΎΠ΄ΡΠ»Ρ - ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠ° ΠΈ ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠ° Π΄Π°Π½Π½ΡΡ XDR