java - 将 byte[] 转换为 short[],使得每个 short 元素包含 13 位数据

标签 java algorithm bit-manipulation

<分区>

所以我正在研究一个解决方案,我需要将任何给定的数据类型分解为 13 位编码,我能够处理除字符串之外的所有其他内容。

所以我希望对此进行编码的步骤。

将字符串转换为字节数组

收集 short 中的第一个字节,并将字节移位到 13

用 5 和/或用 short 移动下一个字节以获得第一个 short

迭代变得越来越麻烦我认为这种方法都是错误的。我可以获得可能的解决方案吗?

最佳答案

使用 BigInteger。用 byte[] 初始化它。虽然它不是零,但使用 and() 方法屏蔽掉 13 位,并通过 intValue() 转换为 short。使用 shiftRight() 将其向右移动 13 位并重复。

关于java - 将 byte[] 转换为 short[],使得每个 short 元素包含 13 位数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14226026/

相关文章:

algorithm - 是否有不同语言的算法及其实现的在线目录?

algorithm - mongo $in 反对成对的嵌套文档

检查数字是否为 2^n

javascript - 算法题 Decode Hex to set output

java - 如何使用 java.util.Date(的值)设置 java.time.LocalDate?

java - 默认变量的值与默认初始化

java - 如何使用基类设置标签?

java - 如何将二进制与枚举一起使用?

java - 选择点使得 x 坐标之和 = y 坐标之和

python - 使用 Python 对 bool 数据进行快速索引和位翻转