Java 直接操作二进制的疑问

2019 年 5 月 17 日
 liukanshan

最小单位 byte 也要占用 8 个 bit 我看 OutputStream 最小单位也是 byte 那么能否自定义 bit 位数 进行输出呢? 先谢谢大家。

可能说的不是特别清楚 意思是我想定义 10 个 bit 的输出 这些都是我可以控制的 以及读取也是不会给我转化为 byte。

2801 次点击
所在节点    程序员
10 条回复
xbigfat
2019 年 5 月 17 日
想打印的话,字符是最小单位,8 位是固定的吧。如果是自己操作,IO 都是自己来,我觉得应该没问题。但最好还是遵循通用规范
liukanshan
2019 年 5 月 17 日
@xbigfat 不是打印出来哈 是输出到文件中 我通过二进制查看最少都是 8 bit 可是在一些场景下 我想去控制 bit 位数。
momocraft
2019 年 5 月 17 日
可是那都是 byte stream 啊

你想朝哪输出呢?
liukanshan
2019 年 5 月 17 日
@momocraft 对文件输出哈
GoodRainChen
2019 年 5 月 17 日
通过位运算可以做的 bit 级操作
dorentus
2019 年 5 月 17 日
momocraft
2019 年 5 月 17 日
你有没有注意到文件大小的单位也是字节
raysonx
2019 年 5 月 17 日
现实中,不管是文件系统中还是网络上传输的数据,都是以 byte 为单位的,不存在 1 字节又 3 个 bit 的文件。
geelaw
2019 年 5 月 17 日
你当然可以自己做一个包装,以一个 byte stream 为基础提供 bit stream 的外观。你需要做的不是“不给你转换为 byte ”,而是“把读进来的 byte 转换为 bit 提供给消费者”以及“送进来的 bit 转换为 byte 再输出出去”。
Chinsung
2019 年 5 月 23 日
你自己封装个类对 byte 使用位操作就可以达到效果

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/565164

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX