android ble4.0发送16进制
答案:2 悬赏:0 手机版
解决时间 2021-02-08 19:27
- 提问者网友:一抹荒凉废墟
- 2021-02-07 23:44
android ble4.0发送16进制
最佳答案
- 五星知识达人网友:杯酒困英雄
- 2021-02-08 00:43
// byte转十六进制字符串
public static String bytes2HexString(byte[] bytes) {
String ret = "";
for (byte aByte : bytes) {
String hex = Integer.toHexString(aByte & 0xFF);
if (hex.length() == 1) {
hex = '0' + hex;
}
ret += hex.toUpperCase(Locale.CHINA);
}
return ret;
}
public static byte[] getHexBytes(String message) {
int len = message.length() / 2;
char[] chars = message.toCharArray();
String[] hexStr = new String[len];
byte[] bytes = new byte[len];
for (int i = 0, j = 0; j < len; i += 2, j++) {
hexStr[j] = "" + chars[i] + chars[i + 1];
bytes[j] = (byte) Integer.parseInt(hexStr[j], 16);
}
return bytes;
}
public static String bytes2HexString(byte[] bytes) {
String ret = "";
for (byte aByte : bytes) {
String hex = Integer.toHexString(aByte & 0xFF);
if (hex.length() == 1) {
hex = '0' + hex;
}
ret += hex.toUpperCase(Locale.CHINA);
}
return ret;
}
public static byte[] getHexBytes(String message) {
int len = message.length() / 2;
char[] chars = message.toCharArray();
String[] hexStr = new String[len];
byte[] bytes = new byte[len];
for (int i = 0, j = 0; j < len; i += 2, j++) {
hexStr[j] = "" + chars[i] + chars[i + 1];
bytes[j] = (byte) Integer.parseInt(hexStr[j], 16);
}
return bytes;
}
全部回答
- 1楼网友:天凉才是好个秋
- 2021-02-08 02:09
generic attribute profile (gatt)
通过ble连接,读写属性类小数据的profile通用规范。现在所有的ble应用profile都是基于gatt的。
attribute protocol (att)
gatt是基于att protocol的。att针对ble设备做了专门的优化,具体就是在传输过程中使用尽量少的数据。每个属性都有一个唯一的uuid,属性将以characteristics and services的形式传输。
characteristic
characteristic可以理解为一个数据类型,它包括一个value和0至多个对次value的描述(descriptor)。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯