簡體   English   中英

將十六進制表示法從字面上轉換為字符串,反之亦然

[英]Convert hexadecimal notation literally to string or vice versa

我正在編寫的函數將校驗和(格式:'* 76')作為字符串(與NMEA字符串隔離)。 此字符串格式的校驗和稱為“ Obs”(從字符串觀察)。 然后,它從字符串的其余部分計算校驗和,並以十六進制(終端:0x76)得到該答案,這將被稱為“ Com”(從字符串計算)。 現在,我需要將一個轉換為另一個以相互比較。

我已經嘗試過類似的東西:

HexObs = hex(Obs) #with Obs as '0x76' and '0*76'

這給了我一個錯誤。

StrCom = str(Com)

給出:“ 118”

我以前沒有問題可以認出我的問題。 有誰知道如何將一個轉換為另一個? 提前Tnx。

我認為您的問題是將原始文件轉換為實際的十六進制格式

tobs = '76'
obs = hex(int('0x' + tobs, 16))

這將給您實際的十六進制值進行比較

或者,您可以使用:

tobs = '76'
com = '0x76'
tcom = com[2:]

然后比較tobs和tcom

要使用十六進制字符串表示形式,請使用:

>>> int('0x76', 16)
118

第二個參數是基數。

要將整數從十六進制表示形式轉換為字符串,請使用:

>>> hex(118)
'0x76'

暫無
暫無

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

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