婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Python二進制數(shù)據(jù)結構Struct的具體使用

Python二進制數(shù)據(jù)結構Struct的具體使用

熱門標簽:高德地圖標注是免費的嗎 梅州外呼業(yè)務系統(tǒng) 老人電話機器人 無錫客服外呼系統(tǒng)一般多少錢 洪澤縣地圖標注 百度地圖標注位置怎么修改 地圖標注視頻廣告 大連crm外呼系統(tǒng) 北京電信外呼系統(tǒng)靠譜嗎

二進制數(shù)據(jù)結構Struct

在C/C++語言中,struct被稱為結構體。而在Python中,struct是一個專門的庫,用于處理字節(jié)串與原生Python數(shù)據(jù)結構類型之間的轉換。

本篇,將詳細介紹二進制數(shù)據(jù)結構struct的使用方式。

函數(shù)與Struct類

struct庫包含了一組處理結構值得模塊級函數(shù),以及一個Struct類。格式指示符將由字符串格式轉換為一種編譯表示,這與處理正則表達式得方式類似。

這個轉換會耗費一些資源,所以創(chuàng)建一個Struct實例并再這個實例上調用方法時,只完成一次轉換,往往會更高效。

打包

Struct支持使用格式指示符將數(shù)據(jù)打包為字符串,另外支持從字符串解包數(shù)據(jù),格式指示符由表示數(shù)據(jù)類型的字符串和可選的數(shù)量及字節(jié)序指示符構成。

下面,我們來打包一個元組,將其轉換為16進制字節(jié)序列,示例如下:

import struct
import binascii

values = (2, 'lyj'.encode('UTF-8'), 3.8)
s = struct.Struct('I 3s f')
packed_data = s.pack(*values)
print("原值:", values)
print("格式指示符:", s.format)
print("大小:", s.size, 'bytes')
print("打包值:", binascii.hexlify(packed_data))

運行之后,效果如下:

這里的格式指示符為“I 3s f”。前面介紹array數(shù)組時,我們已經(jīng)列出過一個表格。其中I標識一個整型或長整型,3s表示3個字節(jié)字符串(lyj),f表示浮點數(shù)。

解包

struct庫使用unpack()可以從打包的表示數(shù)據(jù)中抽取數(shù)據(jù),這里直接復制上面的打包值,進行測試。示例如下:

import struct
import binascii

packed_data = binascii.unhexlify(b'020000006c796a0033337340')
s = struct.Struct('I 3s f')
unpacked_data = s.unpack(packed_data)
print("解包值:", unpacked_data)

運行之后,效果如下:

雖然使用unpack()解包基本會得到相同值,但浮點數(shù)的值有微小的差別。

字節(jié)序指示符

默認情況下,值會使用原生C庫的字節(jié)序(endianness)來編碼。Struct的字節(jié)序指示符如下表所示:

代碼 含義
@ 原生順序
= 原生標準
小端
> 大端
! 網(wǎng)絡順序

示例如下:

import struct
import binascii

values = (2, 'lyj'.encode('UTF-8'), 3.8)
endianness = [
    ('@', '原生順序'),
    ('=', '原生標準'),
    ('', '小端'),
    ('>', '大端'),
    ('!', '網(wǎng)絡順序'),
]
for code, name in endianness:
    s = struct.Struct(code + ' I 3s f')
    packed_data = s.pack(*values)
    print("格式化字符串:", s.format, ' for ', name)
    print("大小:", s.size, 'bytes')
    print("打包:", binascii.hexlify(packed_data))
    print("解包:", s.unpack(packed_data))

運行之后,效果如下:

如果想改變字節(jié)序來編碼,如上面代碼所示,只需要改變格式串中提供一個顯式的字節(jié)序指令,就可以很容易地覆蓋這個默認選擇。

緩沖區(qū)

通常在強調性能的情況下或者向擴展模塊傳入或傳出數(shù)據(jù)時才會處理二進制打包數(shù)據(jù)。

為了避免為每個打包結構分配一個新緩沖區(qū)所帶來的開銷,通常情況下,我們使用pack_into()和unpack_from()方法支持直接寫入預分配的緩沖區(qū)。

示例如下:

import struct
import binascii
import ctypes
import array

values = (2, 'lyj'.encode('UTF-8'), 3.8)
s = struct.Struct('I 3s f')
print("原始值:", values)
b = ctypes.create_string_buffer(s.size)
print("打包之前(緩沖區(qū)的值):", binascii.hexlify(b.raw))
s.pack_into(b, 0, *values)
print("打包之后(緩沖區(qū)的值):", binascii.hexlify(b.raw))
print("解包:", s.unpack_from(b, 0))

a = array.array('b', b'\0' * s.size)
print("打包之前(緩沖區(qū)的值):", binascii.hexlify(a))
s.pack_into(a, 0, *values)
print('打包之后(緩沖區(qū)的值):', binascii.hexlify(a))
print("解包:", s.unpack_from(a, 0))

運行之后,效果如下:

這里通過兩種方式,創(chuàng)建緩沖區(qū)。其中size屬性用于指出緩沖區(qū)需要的大小。

到此這篇關于Pytho 二進制數(shù)據(jù)結構Struct的具體使用的文章就介紹到這了,更多相關Pytho 二進制數(shù)據(jù)結構Struct內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • Python 數(shù)據(jù)結構之樹的概念詳解
  • python三種數(shù)據(jù)結構及13種創(chuàng)建方法總結
  • python數(shù)據(jù)結構的排序算法
  • Python內置數(shù)據(jù)結構列表與元組示例詳解
  • python用sqlacodegen根據(jù)已有數(shù)據(jù)庫(表)結構生成對應SQLAlchemy模型
  • Python數(shù)據(jù)結構之圖的存儲結構詳解
  • Python數(shù)據(jù)結構之二叉排序樹的定義、查找、插入、構造、刪除
  • Python數(shù)據(jù)結構之優(yōu)先級隊列queue用法詳解
  • 詳解python數(shù)據(jù)結構之棧stack
  • Python數(shù)據(jù)結構詳細

標簽:安慶 岳陽 清遠 洛陽 怒江 長春 吉林 泉州

巨人網(wǎng)絡通訊聲明:本文標題《Python二進制數(shù)據(jù)結構Struct的具體使用》,本文關鍵詞  Python,二進制,數(shù)據(jù)結構,;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Python二進制數(shù)據(jù)結構Struct的具體使用》相關的同類信息!
  • 本頁收集關于Python二進制數(shù)據(jù)結構Struct的具體使用的相關信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    精品日韩欧美在线| 亚洲一二三级电影| 欧美一区二区三区男人的天堂| 91猫先生在线| 色婷婷av一区二区三区大白胸| 91视频在线看| 欧美亚洲精品一区| 日韩一区二区在线观看视频播放| 在线综合亚洲欧美在线视频| 日韩久久免费av| www亚洲一区| 国产女同互慰高潮91漫画| 日韩美女视频19| 亚洲国产成人porn| 日韩制服丝袜av| 国产一区二区在线观看视频| 成人黄色一级视频| 欧美人妇做爰xxxⅹ性高电影| 欧美一区二区精美| 国产欧美一区二区三区网站| 一区二区三区在线看| 丝袜亚洲另类欧美综合| 成人av在线影院| 色偷偷一区二区三区| 日韩久久久久久| 中文字幕一区二区三| 亚洲一区二区视频| 国产精品亚洲成人| 欧美日韩免费一区二区三区视频| 精品粉嫩aⅴ一区二区三区四区| 国产精品久久久久久久久免费樱桃 | 欧美四级电影网| 久久久精品欧美丰满| 一区二区三区免费在线观看| 免费观看在线综合| 99精品久久免费看蜜臀剧情介绍| 欧美高清性hdvideosex| 国产精品视频免费| 毛片一区二区三区| 日本精品一级二级| 国产精品入口麻豆九色| 日韩国产精品久久久久久亚洲| 国产suv精品一区二区三区| 欧美日韩高清一区| 亚洲色图视频网| 国产精品一线二线三线| 91精品久久久久久久99蜜桃| 亚洲激情成人在线| 成人午夜短视频| 久久在线观看免费| 美女在线视频一区| 777久久久精品| 亚洲一区二区精品久久av| av中文字幕在线不卡| 欧美精品一区二区三区在线播放 | 日韩丝袜情趣美女图片| 亚洲国产成人av网| 在线观看视频一区| 亚洲天堂免费看| 99在线热播精品免费| 国产精品美女视频| 成人av在线网站| 国产欧美日产一区| 国产成人免费av在线| 国产视频一区在线播放| 国产呦精品一区二区三区网站| 欧美一区二区三区四区高清| 日韩国产精品久久| 51精品久久久久久久蜜臀| 亚洲成av人影院在线观看网| 91丨九色丨国产丨porny| 国产精品超碰97尤物18| www.亚洲人| 一区二区三国产精华液| 欧美中文字幕一区| 亚洲第一成年网| 欧美一区二区三区在| 久久精品国产亚洲高清剧情介绍| 日韩美女一区二区三区四区| 国产一区二区在线影院| 亚洲国产激情av| 日本韩国精品一区二区在线观看| 亚洲欧美激情小说另类| 欧美日韩一区视频| 老司机精品视频导航| 国产欧美一区二区三区鸳鸯浴 | 日韩福利电影在线观看| 欧美一区二区三区视频免费 | 日韩美女在线视频| 国产福利精品一区| 亚洲欧洲制服丝袜| 欧美一区二区久久久| 国产成人免费在线观看不卡| 日韩美女久久久| 日韩一区二区在线观看视频| 成人一道本在线| 亚洲成人免费观看| 久久九九久久九九| 欧美午夜精品一区二区蜜桃| 精品中文字幕一区二区 | 欧美日韩一区二区三区四区五区| 日韩和欧美一区二区| 国产视频一区二区在线| 日本道免费精品一区二区三区| 日本亚洲欧美天堂免费| 亚洲国产精华液网站w| 欧美日韩夫妻久久| 成人一级片在线观看| 蜜臀av一区二区在线观看| 日本一区二区久久| 日韩一区二区三区在线视频| 91天堂素人约啪| 国产精品一卡二卡| 日韩精品成人一区二区在线| 中文字幕一区在线观看视频| 欧美一区二区日韩一区二区| 91蜜桃视频在线| 国产成人免费9x9x人网站视频| 亚洲福中文字幕伊人影院| 国产精品不卡一区| 久久无码av三级| 日韩一级片在线播放| 欧美优质美女网站| 91丨九色丨蝌蚪富婆spa| 国产一区二区三区美女| 日韩激情一二三区| 亚洲一区二区不卡免费| 综合久久久久综合| 国产精品无人区| 国产女人18水真多18精品一级做| 日韩欧美你懂的| 91精品国产美女浴室洗澡无遮挡| 91成人免费电影| 一本色道久久综合亚洲aⅴ蜜桃| 国产成人精品影院| 国产黑丝在线一区二区三区| 精品一区二区三区视频在线观看 | 欧美aaaaaa午夜精品| 亚洲一区二区三区四区的| 亚洲人成小说网站色在线| 国产精品久久久久影院老司| 欧美极品少妇xxxxⅹ高跟鞋| 久久久亚洲高清| 国产精品私人影院| 国产精品伦一区| 中文字幕在线观看不卡| 日韩一区中文字幕| 亚洲女性喷水在线观看一区| 亚洲欧美综合色| 亚洲综合色视频| 奇米精品一区二区三区在线观看| 午夜国产精品影院在线观看| 午夜国产精品一区| 蜜臀av一区二区三区| 精品无人区卡一卡二卡三乱码免费卡 | 亚洲视频在线一区观看| 综合久久一区二区三区| 亚洲一区中文日韩| 天堂午夜影视日韩欧美一区二区| 日韩激情视频在线观看| 加勒比av一区二区| 国产精一品亚洲二区在线视频| 国产一区二区福利视频| 成人精品小蝌蚪| 欧美日韩一区二区在线观看视频| 欧美一区二区日韩一区二区| 久久久久亚洲蜜桃| 亚洲人成电影网站色mp4| 午夜欧美视频在线观看| 蜜臀99久久精品久久久久久软件| 国产精品系列在线播放| 色婷婷亚洲一区二区三区| 欧美高清激情brazzers| 精品国产一区二区精华| 国产精品免费网站在线观看| 亚洲综合一区二区三区| 激情亚洲综合在线| 色婷婷国产精品综合在线观看| 91精品国产综合久久精品app | 日韩亚洲欧美一区二区三区| 国产肉丝袜一区二区| 成人午夜免费电影| 欧美吞精做爰啪啪高潮| 国产午夜亚洲精品羞羞网站| 亚洲国产色一区| 成人一级黄色片| 日韩欧美国产精品一区| 亚洲人亚洲人成电影网站色| 青青草成人在线观看| 99精品在线免费| 精品国产乱码91久久久久久网站| 夜夜嗨av一区二区三区| 国产黄色91视频| 欧美tk—视频vk| 亚洲高清免费一级二级三级| 国产福利精品一区| 337p日本欧洲亚洲大胆色噜噜| 樱桃国产成人精品视频| 国产91精品露脸国语对白| 欧美一区二区成人|