繁体   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