在Java中将数据(整数,字符串)转换为字节的方法是什么?我正在寻找除使用Serializable类之外的方法。我研究并发现了像ByteOutputStream这样的东西。
我可以将字符串和整数解析为字节数据类型吗?
有什么建议吗?
答案 0 :(得分:3)
看一下DataInputStream和DataOutputStream,它们将所有Java数据类型转换为字节,并读/写到底层的Input / OutputStream。
如果你需要读取或写入int,long等文件,那么这些就是你的课程。
如果您只是对如何将其转换为字节用于其他目的感兴趣,请查看这些类的源代码,它们将转换为big-endian。
答案 1 :(得分:0)
支持DataOutput界面的类将满足您的需求。使用DataInput将数据流读回数据。
答案 2 :(得分:0)
Java在序列化时使用的标准编码方法就像您自己的想法一样,将字段简单地转换为字节流。
基元以及非瞬态非静态引用对象被编码到流中。序列化对象引用的每个对象,也必须序列化。
其他语言(例如PHP)序列化为几乎人类可读的格式,而某些实现序列化为JSON或XML。
但在我看来,真正的序列化应该是数据的二进制字节每字节表示。这样就可以快速将所有数据再次读入内存,并且可以按原样执行。