簡體   English   中英

將十進制轉換為十六進制,然后轉換為 python 中的字節

[英]converting a decimal to hex decimal and then to bytes in python

我正在嘗試將十進制數轉換為十六進制十進制,然后再轉換為字節。

例如,如果我想將十進制數 5 轉換為字節。 我用

def decimal_to_hexadecimal(dec): 
    decimal = int(dec) 
    return hex(decimal)

id = decimal_to_hexadecimal(5)

這給出了 5 的十六進制表示,即 0x5

現在我將它轉換為字節使用

id_bytes = bytes([0x5])

這工作正常,但我必須手動輸入十六進制十進制。 所以當我嘗試這個時

equipmentID = int(equipmentID)
equipmentID_hex = hex(equipmentID)
equipmentID = bytes(equipmentID_hex)

它給出了一個錯誤

TypeError: string argument without an encoding

有人可以幫我弄這個嗎。

謝謝

在 function 中,您沒有將十六進制數據轉換為字節。 如果需要轉換為字節,則需要使用編碼技術。

 equipmentID = bytes(equipmentID_hex, 'utf-8')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM