gpt4 book ai didi

java - 在转换 ascii 数据时感到困惑

转载 作者:行者123 更新时间:2023-12-01 18:46:41 24 4
gpt4 key购买 nike

我试图理解java中ascii数据字符串到BCD数据表示的转换逻辑

请求一些指导。

我的 Ascii 字符串

 data : 1000000011418819=11120000000000000001

输入数据的十六进制 View

Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F

00000000 31 30 30 30 30 30 30 30 31 31 34 31 38 38 31 39 1000000011418819
00000010 3D 31 31 31 32 30 30 30 30 30 30 30 30 30 30 30 =111200000000000
00000020 30 30 30 30 31 00001

转换后的数据(输出结果):

Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F

00000000 37 10 00 00 00 11 41 88 19 D1 11 20 00 00 00 00 7.....Aˆ.Ñ. ....
00000010 00 00 00 10 31 ....1

如何转换Java中显示的数据。

最佳答案

您似乎有packed BCD , 开头的 7 处的 37 不是原始消息的一部分。

您需要做的是取出每个字节的低 16 位并将它们成对组合,例如将第一个值移动 4。

例如

InputStream in = 
OutputStream out =
for(int i, j; (i = in.read()) >= 0 && (j = in.read()) > 0;) {
out.write(((i & 0xF) << 4) + (j & 0xF));
}

关于java - 在转换 ascii 数据时感到困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17518345/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com