python中想要把字母或数字转为16进制\x30格式并且输出,但是最最终显示却还是字母是怎么回事呢?

大家好,目前遇到的问题是这样的,把用户输入的数字或者字母转为16进制字节流,
但是转了以后在控制台输出或者通过socket发送时,都会被显示为原字母,请问
各位大神这是什么原因,感谢。

str1 = 'da'
str2 = b"\x30\x33"
b = str1.encode('utf-8')
print(b, str2)

输出结果:b'da' b'03'
为什么会自动转换,怎么才能按照\x30格式输出呢?

好像你str2写的有问题,只是一个b吧?如果是一串字符可以格式打印
for i in str2:
print('%#x'%ord(i))