首页 文章

从ByteBuffer读取字符串,直到它到达空字节(00)位置[保持]

提问于
浏览
-7

从ByteBuffer读取字符串时需要帮助,直到它到达空位置 .

经过一切可能的尝试 . 我发布在这里 .

1 回答

  • 1

    由于 null 通常表示为 0 ,因此必须阅读,直到遇到 \0 char . 如果你必须支持多字节编码,这可能会变得棘手,但对于ASCII,它应该足够了:

    byte[] bytes = { 'H', 'e', 'l', 'l', 'o', '\0'};
    ByteBuffer buf = ByteBuffer.wrap(bytes);
    StringBuilder builder = new StringBuilder();
    char ch;
    while ((ch = (char) buf.get()) != '\0') {
        builder.append(ch);
    }
    System.out.println(builder); // Hello
    

相关问题