2011-08-30 128 views
0

什么是在Java中将数据(ints,字符串)转换为字节的方法?我正在寻找除了使用Serializable类之外的方法。我研究并发现了诸如ByteOutputStream之类的东西。“序列化”的概念

我可以只解析字符串和整数字节数据类型?

有什么建议吗?

+0

为什么你不想使用内置的可序列化接口?你想要达到什么目的? – berry120

回答

3

查看DataInputStream和DataOutputStream,它们将所有Java数据类型转换为字节并读/写到基础Input/OutputStream。

如果您需要读取或写入整数,长整型等文件,那么这些是您的类。

如果您只是想转换为其他用途的字节,请查看这些类的源代码,然后转换为big-endian。

0

当序列化时,Java使用的标准编码方法就像你自己的想法一样,简单地将字段翻译为字节流。

原始数据以及非瞬态的非静态引用对象被编码到流中。每个被序列化对象引用的对象也必须被序列化。

其他语言(例如PHP)会序列化为非常易读的格式,某些实现将序列化为JSON或XML。

尽管如此,真正的序列化应该是数据的二进制byte-per-byte表示。这样就可以将所有数据快速读入内存并且可以按原样执行。