Java 十六进制字符串连接校验和
Java hex string concatenate checksum
我想向 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
请问有什么指示吗?
\uxxxx
语法由 Java 编译器处理,它不是文字。听起来你只想:
String msg = "\u0002\u0053\u003F\u0003";
char checksum = (char)238;
String last = "\u0004";
msg = msg + checksum + last;
sendmessage(msg);
我想向 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
请问有什么指示吗?
\uxxxx
语法由 Java 编译器处理,它不是文字。听起来你只想:
String msg = "\u0002\u0053\u003F\u0003";
char checksum = (char)238;
String last = "\u0004";
msg = msg + checksum + last;
sendmessage(msg);