【发布时间】:2015-05-21 22:48:31
【问题描述】:
我想用 java 中的校验和向设备发送十六进制消息。
String msg = "\u0002\u0053\u003F\u0003";
String checksum = "\u00EE";
String last = "\u0004";
msg = msg + checksum + last;
sendmessage(msg);
如果我像上面那样对校验和进行硬编码,它就可以工作。但是如果我动态插入校验和,它不会。这是我尝试过的
String msg = "\u0002\u0053\u003F\u0003";
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
请问有什么路线吗?
【问题讨论】:
-
...看在 Hermaeus Mora 的份上,请修复您的拼写问题!这不是短信对话,这是 StackOverflow。所有问题和答案都应该是写得很好、清晰、正确的英语,并带有漂亮的小东西,例如主题和文章以及适当的大写(“I want to send a hex message...") 并且没有丢失的字母或多余的空格("If I hard [no space] 代码...") 和正确的标点符号 ("...it works [no space] , but if I...") 和所有这些好东西!
标签: java string hex concatenation checksum