0

给定以下格式的字节输入流,是否有更好的方法来提取整数值?

The low order 7 bits of a byte to represent the value or part of the value
The high order bit is an "escape" or "continuation" bit

所以:

0x7F           0111_1111                      127 (0x7F = 0111_1111)
0x81 0x7F      1000_0001  0111_1111           255 (0xFF = 1111_1111)
0x82 0x80 0x00 1000_0010  1000_0000 0000_0000 32768 (0x8000 = 1000_0000_0000_0000)

目前我正在使用:

do {
  in.read(b, 0, 1); // read next byte
  intval = (intval * 0x80) + (b[0] & 0x7F);
} while ((b[0] & 0x80) == 0x80);
4

0 回答 0