第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

如何使用 ctypes 將字節(jié)轉(zhuǎn)換為浮點(diǎn)數(shù)?

如何使用 ctypes 將字節(jié)轉(zhuǎn)換為浮點(diǎn)數(shù)?

慕妹3146593 2023-03-01 15:26:40
我想轉(zhuǎn)換b'\xd8\x0fI@'成一個(gè)c_float. 我正在尋找類似的東西:>>> c_float(bytes=b'\xd8\x0fI@').value 3.1415
查看完整描述

2 回答

?
慕神8447489

TA貢獻(xiàn)1780條經(jīng)驗(yàn) 獲得超1個(gè)贊

使用聯(lián)合:


import ctypes as ct


class Convert(ct.Union):

    _fields_ = (("my_bytes", ct.c_char * ct.sizeof(ct.c_float)),

                ("my_float", ct.c_float))


data_to_convert = b'\xd8\x0fI@'

conv = Convert()

conv.my_bytes = data_to_convert

print(conv.my_float)  # prints 3.141592025756836

您可能還想在進(jìn)行轉(zhuǎn)換之前檢查長度。如果沒有這樣的檢查,ValueError如果您嘗試使用太長的字節(jié)序列,您將得到一個(gè),但如果您使用太短的字節(jié)序列,它不會(huì)提醒您。(類型檢查會(huì)自動(dòng)為您完成。)


if len(data_to_convert) != len(conv.my_bytes):

    raise ValueError


查看完整回答
反對(duì) 回復(fù) 2023-03-01
?
暮色呼如

TA貢獻(xiàn)1853條經(jīng)驗(yàn) 獲得超9個(gè)贊

使用結(jié)構(gòu)庫中的unpack

import ctypes, struct

ctypes.c_float(struct.unpack('<f', b'\xd8\x0fI@')[0]) # c_float(3.141592025756836)


查看完整回答
反對(duì) 回復(fù) 2023-03-01
  • 2 回答
  • 0 關(guān)注
  • 141 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)