Java十六进制字符串连接校验和



我想发送十六进制消息到java中的校验和设备。

    String msg = "u0002u0053u003Fu0003";
    String checksum = "u00EE";
    String last = "u0004";
    msg = msg + checksum + last;
    sendmessage(msg);

如果我像上面那样硬编码校验和,它可以工作。但如果我动态插入校验和,它就不会。这是我尝试过的

String msg = "u0002u0053u003Fu0003";
String checksum = String.format("\u00%2X",238); // decimal 238 = Hex u00EE
String last = "u0004";
msg = msg + checksum + last;
sendmessage(msg) ; //getting invalid checksum because it is not inserted properly

请指路?

uxxxx语法由Java编译器处理,它不是文字。听起来你只需要:

String msg = "u0002u0053u003Fu0003";
char checksum = (char)238;
String last = "u0004";
msg = msg + checksum + last;
sendmessage(msg);

相关内容

  • 没有找到相关文章

最新更新