如何解决有没有办法将对象转换为字节数组?
我有一个 Packet 类,有没有办法将它的对象转换为字节数组?
from abc import abstractmethod
class Packet:
@abstractmethod
def __init__(self,name,data):
self.name = name
self.data = data
packet = Packet("packet-01",None)
解决方法
您可以使用 pickle
包将对象转换为。 bytearray
。
In [97]: from abc import abstractmethod
...:
...: class Packet:
...: @abstractmethod
...: def __init__(self,name,data):
...: self.name = name
...: self.data = data
...:
In [98]: packet = Packet('packet-01',None)
In [99]: packet
Out[99]: <__main__.Packet at 0x7f9d540cf040>
In [100]: import pickle
In [101]: byte = pickle.dumps(packet)
In [102]: byte
Out[102]: b'\x80\x04\x95:\x00\x00\x00\x00\x00\x00\x00\x8c\x08__main__\x94\x8c\x06Packet\x94\x93\x94)\x81\x94}\x94(\x8c\x04name\x94\x8c\tpacket-01\x94\x8c\x04data\x94Nub.'
您可以阅读关于泡菜 here 的文章。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。