【问题标题】:How to convert from ByteBuffer to Integer and String?如何从 ByteBuffer 转换为 Integer 和 String?
【发布时间】:2011-09-13 00:53:15
【问题描述】:

我使用 ByteBuffer 的 putInt() 方法将 int 转换为字节数组。我该如何做相反的事情?那么将这些字节转换为 int 呢?

此外,我使用字符串的getBytes() 方法将字符串转换为字节数组。我如何反过来转换它? bytesArray.getString() 不返回可读字符串。我得到类似BF@DDAD

【问题讨论】:

    标签: java arrays string nio bytebuffer


    【解决方案1】:

    您可以使用ByteBuffer.getInt 方法,指定整数出现的偏移量,将一系列字节转换为整数。或者,如果您碰巧知道字节顺序,则可以使用按位运算符从 8 位八位字节显式重构 32 位整数。

    要将字节数组转换为String,您可以使用String(byte[]) 构造函数从字节数组中构造一个新的String。例如:

    byte[] bytes = /* ... get array of bytes ... */
    String fromBytes = new String(bytes);
    

    【讨论】:

    • 请注意,在从原始字节创建 String 时,最好指定要使用的编码。
    猜你喜欢
    • 2019-05-05
    • 2021-02-21
    • 1970-01-01
    • 1970-01-01
    • 2021-02-21
    • 2013-08-03
    • 1970-01-01
    • 1970-01-01
    • 2019-12-06
    相关资源
    最近更新 更多