整数的存储和传输格式 有更新!

  cheney

最近在调一个通讯协议,以前有些协议是用 java 调用 c 通讯的,现在全部用 java 实现。在调试的过程中发现,一个数,竟然有这么多序列化方法。
以数字 100 为例:
1. 字符串 100
2. 字符串 64
3. 字节数组 01 00
4. 字节数组 00 64

不考虑特殊转换的情况下,只考虑常用的 10 进制 和 16 进制,一套协议内竟然出现了 4 种表示一个数字的方案。

方案1. 标记为 S

  • toString
  • Integer.valueOf()

方案2. 标记为 X

  • String.format(“X”)
  • Integer.valueOf( , 16 )

方案3. 标记为 BA10

  • %10
  • *10 +

方案4. 标记为 BA16

  • 8

  • <<8 +