Python中二进制的操作

今天学习Python,碰到一个很棘手的问题。我用IDLE

>>>file=open("D:/abc.exe","rb")

打开了一个二进制文件,输出了一点后发现是这样的:

b"MZ\x90\x00\x03\x00\x00\x00\x04\x00\x00\x00\xff\xff\x00\x00\xb8\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe8\x00\x00\x00\x0e\x1f\xba\x0e\x00\xb4\t\xcd!\xb8\x01L\

但问题是,我通过网络从客户端往服务端发消息时,虽然可以接受的到,但是接收的却是这样的:

b' 159, 158, 255, 155, 150, 149, 255, 147, 142, 139, 255, 147, 128, 117, 255, 46, 156, 212, 255, 0, 160, 246, 255, 0, 131, 194, 255, 0, 117, 179, 255, 4, 225, 247, 255, 0, 102, 164, 255, 0, 238, 255, 255, 0, 195, 239, 255, 0, 53, 124, 255, 0, 100, 175, 255, 11, 66, 111, 255, 53, 45, 35, 255, 160, 156, 154, 231, 174, 169, 167, 255, 185, 181, 179, 255, 195, 192, 189, 255, 204, 200, 199, 255, 210, 206, 205, 255, 214, 211, 209, 255, 216, 214, 213, 255, 216, 

请问这是什么情况??两个能互相转换吗?我是一个自学新手,请多指教,谢谢。

2个回答

上面那个是对的,下面那个明显不对。exe文件的开头,肯定是ascii码的MZ
看你网络传输的代码是不是有问题,建议你用base64编码后传输再解码

客户端和服务端的代码第一行加了:
#coding:utf-8
吗?

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问