赋值\xhh时,hh可以做为变量传入吗?

wobs-zb 2018-07-27 01:57:14
赋值\xhh时,hh是否可以做为变量传入?
实际场景:
输入两个物理mac地址:
src_mac='FA:16:3E:8C:82:39
dst_mac='FA:16:3E:8E:4B:68'
输出得到两个\xhh格式的变量:
src='\xfa\x16\x3e\x8c\x82\x39'
dst='\xfa\x16\x3e\x8e\x4b\x68'

实现过程中发现字符替代后转义字符\x已经失效, 如下:
dst1 = r'\x' + dst_mac.lower().replace(':',r'\x')
src1= r'\x' + src_mac.lower().replace(':',r'\x')
>>> print src,dst
\xfa\x16\x3e\x8c\x82\x39 \xfa\x16\x3e\x8e\x4b\x68

实际我希望得到的变量如下:
src='\xfa\x16\x3e\x8c\x82\x39'
dst='\xfa\x16\x3e\x8e\x4b\x68
>>> print src,dst
ú>フツ9 \xfa\x16\x3e\x8e\x4b\x68

从现象上看应该是实现中把\x当成了实际字符,实际上\xXX才是表示 一个字符
所以回到了开始的问题:“赋值\xhh时,hh是否可以做为变量传入?”
...全文
83 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
xwbxn 2018-07-28
  • 打赏
  • 举报
回复
src = src_mac.replace(':','').decode('hex')
这样就可以啦,以上python2有效

37,719

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧