【发布时间】:2015-02-19 22:08:15
【问题描述】:
我最近编写了一个程序,它可以序列化一些数据(java 对象)并将生成的字符串保存在一个文本文件中。信息在 base 64 中序列化,因此数据最终看起来像这样:
rO0ABXBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBzcgAab3JnLmJ1a2tpdC51dGlsLmlvLldyYXBwZXLyUEfs8RJvBQIA。
我有点理解 base 64 的含义,但是,既然这是胡言乱语,为什么文本文件或计算机从一开始就不显示 0 和 1?如果我正确理解了底层过程,那么计算机上的所有信息无论如何都会以 0 和 1 的形式存储在某个地方,因为这是计算机最终存储信息的唯一方式。 base 64 不只是一种读取和解释字节的方式吗?为什么要让我的文本编辑器读取保存在计算机上的字节,将它们转换为字母(最终使文档对我来说更短),然后以上面的形式显示?尽管 base 64 以一种视觉上更紧凑的方式显示信息,但没有人可以读取 base 64 文本,并且文件仍然具有相同的确切大小。
【问题讨论】:
-
这不清楚。您是否在问为什么您的文本编辑器没有将文件显示为 0 和 1 的序列?
-
抱歉,如果我的问题不太清楚。我知道文本编辑器会显示字母和数字,因为它被告知要这样做,我的问题是为什么我们通常首先打扰告诉文本编辑器以字母顺序显示字节集合,如果可以的话'无论如何不要读它。我希望这更有意义!
标签: java serialization binary base64 base