Я хочу отправить шестнадцатеричное сообщение устройству с контрольной суммой в java.Java hex string concatenate checksum
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. Все вопросы и ответы должны быть написаны на хорошо написанном, понятном, правильном английском языке, с изящными мелочами, такими как предметы и статьи, и правильная капитализация («** ** ** ** ** ** отправить ** ** ** h ** ex message ... ") и отсутствующих пропущенных букв или дополнительных пробелов (" ** I ** f I hard ** [no space] ** code ... ") и правильной пунктуации (« ... это работает ** [без пробела] **, но если я ... ») и все это хорошее! –
@QPaysTaxes done – user3124284