V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
liukanshan
V2EX  ›  程序员

Java 直接操作二进制的疑问

  •  
  •   liukanshan · May 17, 2019 · 2636 views
    This topic created in 2551 days ago, the information mentioned may be changed or developed.

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

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

    10 replies    2019-05-23 16:22:41 +08:00
    xbigfat
        1
    xbigfat  
       May 17, 2019 via iPhone
    想打印的话,字符是最小单位,8 位是固定的吧。如果是自己操作,IO 都是自己来,我觉得应该没问题。但最好还是遵循通用规范
    liukanshan
        2
    liukanshan  
    OP
       May 17, 2019
    @xbigfat 不是打印出来哈 是输出到文件中 我通过二进制查看最少都是 8 bit 可是在一些场景下 我想去控制 bit 位数。
    momocraft
        3
    momocraft  
       May 17, 2019
    可是那都是 byte stream 啊

    你想朝哪输出呢?
    liukanshan
        4
    liukanshan  
    OP
       May 17, 2019
    @momocraft 对文件输出哈
    GoodRainChen
        5
    GoodRainChen  
       May 17, 2019
    通过位运算可以做的 bit 级操作
    momocraft
        7
    momocraft  
       May 17, 2019   ❤️ 5
    你有没有注意到文件大小的单位也是字节
    raysonx
        8
    raysonx  
       May 17, 2019 via iPad
    现实中,不管是文件系统中还是网络上传输的数据,都是以 byte 为单位的,不存在 1 字节又 3 个 bit 的文件。
    geelaw
        9
    geelaw  
       May 17, 2019 via iPhone
    你当然可以自己做一个包装,以一个 byte stream 为基础提供 bit stream 的外观。你需要做的不是“不给你转换为 byte ”,而是“把读进来的 byte 转换为 bit 提供给消费者”以及“送进来的 bit 转换为 byte 再输出出去”。
    Chinsung
        10
    Chinsung  
       May 23, 2019
    你自己封装个类对 byte 使用位操作就可以达到效果
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3465 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 48ms · UTC 11:18 · PVG 19:18 · LAX 04:18 · JFK 07:18
    ♥ Do have faith in what you're doing.