Javaでバイトをlong型に変換するにはどうすればよいですか?

Javaでバイト配列(bytes)をlong型に変換するには、JavaのByteBufferクラスを利用することで実現できます。ByteBuffer クラスは、プリミティブ データ型のバイト シーケンスを操作する便利な方法を提供します。

次の作成者は、特定のコードを使用して、バイトを Long 型に変換する方法を示しています。

import java.nio.ByteBuffer;

public class BytesToLongExample {
    
    
    public static void main(String[] args) {
    
    
        // 示例字节数组
        byte[] byteArray = {
    
    0x12, 0x34, 0x56, 0x78, 0x9A, 0xBC, 0xDE, 0xF0};

        // 将字节数组转换为 long
        long convertedLong = bytesToLong(byteArray);

        System.out.println("Converted long value: " + convertedLong);
    }

    public static long bytesToLong(byte[] bytes) {
    
    
        // 创建一个 ByteBuffer,使用大端字节序(Big Endian)
        ByteBuffer buffer = ByteBuffer.wrap(bytes);

        // 使用 getLong() 方法获取 long 值
        return buffer.getLong();
    }
}

この例では、まずサンプルのバイト配列 byteArray を定義します。次に、bytesToLong メソッドを呼び出して、バイト配列を long 型に変換します。bytesToLong メソッド内で、ByteBuffer ラップ メソッドを使用して ByteBuffer オブジェクトを作成し、それにバイト配列を渡します。次に、getLong メソッドを使用して ByteBuffer から Long 値を取得します。

Java では long 型が 8 バイトを占有するため、この例ではバイト配列の長さが 8 であると仮定していることに注意してください。バイト配列の長さが 8 でない場合は、変換前に連結やパディングなどの適切な処理が必要です。また、この例ではビッグ エンディアンを使用していますが、リトル エンディアンを使用する必要がある場合は、ByteBuffer.order(ByteOrder.LITTLE_ENDIAN) を使用してバイト オーダーを設定できます。

実際の開発作業では、実際のニーズに応じて適切なエラー処理や例外処理を行います。

おすすめ

転載: blog.csdn.net/cz_00001/article/details/132433348