lyxleo 2019-06-06 12:49 采纳率: 0%
浏览 913

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条回答 默认 最新

  • threenewbee 2019-06-06 12:54
    关注

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

    评论

报告相同问题?

悬赏问题

  • ¥15 求学软件的前人们指明方向🥺
  • ¥50 如何增强飞上天的树莓派的热点信号强度,以使得笔记本可以在地面实现远程桌面连接
  • ¥15 MCNP里如何定义多个源?
  • ¥20 双层网络上信息-疾病传播
  • ¥50 paddlepaddle pinn
  • ¥20 idea运行测试代码报错问题
  • ¥15 网络监控:网络故障告警通知
  • ¥15 django项目运行报编码错误
  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services