java十六进制大小端转换,java

将文本字段的值从十六进制转换为小端的公式是什么?

输入示例:5A109061

输出示例:1636831322

解决方法:

>从EditText作为字符串获取值.

>使用Integer.parseInt(…)和基数16将字符串值解析为十六进制.

>使用ByteBuffer(更简单)或使用移位(更快)来翻转int的字节顺序.

例如:

String hex = "5A109061"; // mEditText.getText().toString()

// Parse hex to int

int value = Integer.parseInt(hex, 16);

// Flip byte order using ByteBuffer

ByteBuffer buffer = ByteBuffer.allocate(4);

buffer.order(ByteOrder.BIG_ENDIAN);

buffer.asIntBuffer().put(value);

buffer.order(ByteOrder.LITTLE_ENDIAN);

int flipped = buffer.asIntBuffer().get();

System.out.println("hex: 0x" + hex);

System.out.println("flipped: " + flipped);

输出:

hex: 0x5A109061

flipped: 1636831322

标签:java,android

来源: .html