我使用Java调用阿里云物联网接口发布消息:
setMessageContent(Base64.getEncoder().encodeToString("C9 03 00 73 00 01 65 99".getBytes()))
发出去的指令格式是ascii字符串,我想要发出去的是hex要怎么修改呢?
阿里云物联网调用接口
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
2条回答 默认 最新
关注public static byte[] hexStringToByteArray(String hexString) { int len = hexString.length(); byte[] data = new byte[len / 2]; for (int i = 0; i < len; i += 2) { data[i / 2] = (byte) ((Character.digit(hexString.charAt(i), 16) << 4) + Character.digit(hexString.charAt(i+1), 16)); } return data; }String messageContent = "C9 03 00 73 00 01 65 99"; // 将空格删除 messageContent = messageContent.replace(" ", ""); byte[] messageBytes = hexStringToByteArray(messageContent);本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报