JAVA十六进制数据转换

  public static void main(String[] args) {
      Integer enlarge =  221000000;
      String hex = Integer.toString(enlarge,32); // 10  16 32  // 64进制不可转
      System.out.println("三十二进制:"+hex);
      Integer enlargeCode = Integer.valueOf(hex,32); // 解码出来自己运行
      System.out.print("三十二进制:"+enlargeCode);
   }

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MQTT协议本身并不支持发送十六进制数据,但是可以将十六进制数据转换为字节数组,然后将字节数组作为payload发送。 下面是一个Java示例代码,将十六进制字符串转换为字节数组,并使用Eclipse Paho MQTT客户端发送: ```java import org.eclipse.paho.client.mqttv3.MqttClient; import org.eclipse.paho.client.mqttv3.MqttConnectOptions; import org.eclipse.paho.client.mqttv3.MqttException; import org.eclipse.paho.client.mqttv3.MqttMessage; public class MqttSendHex { public static void main(String[] args) { String broker = "tcp://localhost:1883"; String clientId = "JavaMqttClient"; String topic = "test/topic"; String hexString = "DEADBEEF"; // 十六进制字符串 byte[] payload = hexStringToByteArray(hexString); // 将十六进制字符串转换为字节数组 try { MqttClient client = new MqttClient(broker, clientId); MqttConnectOptions options = new MqttConnectOptions(); options.setCleanSession(true); client.connect(options); MqttMessage message = new MqttMessage(payload); message.setQos(0); client.publish(topic, message); client.disconnect(); } catch (MqttException e) { e.printStackTrace(); } } public static byte[] hexStringToByteArray(String s) { int len = s.length(); byte[] data = new byte[len / 2]; for (int i = 0; i < len; i += 2) { data[i / 2] = (byte) ((Character.digit(s.charAt(i), 16) << 4) + Character.digit(s.charAt(i+1), 16)); } return data; } } ``` 这个示例程序将十六进制字符串"DEADBEEF"转换为字节数组,并将字节数组作为消息payload发送到MQTT代理的"test/topic"主题上。请根据实际情况修改broker、clientId、topic等参数。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值