我是靠谱客的博主 细心棉花糖,最近开发中收集的这篇文章主要介绍Android蓝牙传输16进制的字节流数据,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

前言

        本文主要介绍android蓝牙传输数据时,对数据的处理方法,在物联网蓝牙设备连接和数据传输使用较多。(java/kotlin)

1.字节流发送

mOut!!.write(byteArrays, 0, byteArrays.size)
mOut!!.flush()

2.十六进制进制编码转bytes

 public static byte[] toBytes(String str) {
        if (str == null || str.trim().equals("")) {
            return new byte[0];
        }

        byte[] bytes = new byte[str.length() / 2];
        for (int i = 0; i < str.length() / 2; i++) {
            String subStr = str.substring(i * 2, i * 2 + 2);
            bytes[i] = (byte) Integer.parseInt(subStr, 16);
        }

        return bytes;
    }

3.byte[]转十六进制编码

    public static String bytesToHexFun2(byte[] bytes) {
        char[] buf = new char[bytes.length * 2];
        int index = 0;
        for (byte b : bytes) { // 利用位运算进行转换,可以看作方法一的变种
            buf[index++] = HEX_CHAR[b >>> 4 & 0xf];
            buf[index++] = HEX_CHAR[b & 0xf];
        }

        return new String(buf);
    }

4.十六进制编码转字符串

public static String toStringHex2(String s) {
        byte[] baKeyword = new byte[s.length() / 2];
        for (int i = 0; i < baKeyword.length; i++) {
            try {
                baKeyword[i] = (byte) (0xff & Integer.parseInt(s.substring(
                        i * 2, i * 2 + 2), 16));
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
        try {
            s = new String(baKeyword, "utf-8");// UTF-16le:Not
        } catch (Exception e1) {
            e1.printStackTrace();
        }
        return s;
    }

最后

以上就是细心棉花糖为你收集整理的Android蓝牙传输16进制的字节流数据的全部内容,希望文章能够帮你解决Android蓝牙传输16进制的字节流数据所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(39)

评论列表共有 0 条评论

立即
投稿
返回
顶部