簡體   English   中英

在字符串python的中間插入十六進制值

[英]Insert hex value in the middle of a string python

我想創建5個十六進制字節長的字符串,該字符串將通過套接字發送。 我希望發送255個數據包,並逐漸更改第三個字節。 我怎樣才能做到這一點? 類似於以下代碼:

i=0    
while True:
        a="\x3f\x4f"+hex(i)+"\x0D\x0A"
        socket.send(a)
        i=i+1

問題是該代碼在第一個循環中引入了0x0(30 78 30)而不是00。

謝謝

我覺得您在這里有些困惑。

\\x3f是單個字符(與?相同的字符)。

如果i是63(十六進制3F),則不想將單獨的字符\\\\x3f到字符串中,則想添加單個字符\\x3f 同樣,如果它是0(十六進制00),則不想將單獨的字符\\\\x0到字符串中,而只想添加單個字符\\x0


這正是chr函數的作用:

返回一個字符為ASCII碼為整數i的字符串。 例如, chr(97)返回字符串'a'


相比之下, hex函數將:

[c]將整數(任何大小)轉換為以“ 0x”為前綴的小寫十六進制字符串…

因此, hex(97)返回四個字符串'0x61'

暫無
暫無

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

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