fetchUuidsWithSdp的异常UUID反转

2024-07-03 06:46:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个python蓝牙服务器(使用PyBluez)运行在raspberry pi上。我在服务器中使用的uuid是:

8f86d132-4ab8-4c15-b8df-0b70cf10ea56

我正在Android应用程序中的蓝牙服务器上调用^{}。当它最终获取uuid时,它们以两个为一组进行反转(似乎endianness已经改变)。

在广播接收器中:

Parcelable[] uuids = intent.getParcelableArrayExtra(BluetoothDevice.EXTRA_UUID);
if (uuids != null) {
    if (uuids.length > 0) {
         for (Parcelable uuid : uuids) {
              Utilities.err(uuid.toString());
         }
    } else {
         Utilities.err("no uuids");
    }
} 

例如:

8f86d132-4ab8-4c15-b8df-0b70cf10ea56->;56ea10cf-700b-dfb8-154c-b84a32d1868f

看前两个字符8f,它们是反转uuid的最后两个字符。

看第二个字符86,它们是反转uuid的后两个字符

是什么造成的?

这和UUID是小端还是大端有什么关系?


Tags: 服务器应用程序ifuuidpi字符raspberryandroid
2条回答

你的uuid在版本4中,你的变量是little Endianess。这很正常。取决于你的系统。如果你想要大的结尾放8f86d132-4ab8-4c15-88df-0b70cf10ea56

我把b换成8。在

你有没有可能在android 6.0.1版上遇到过这种情况? 可悲的是,在android中似乎有一个bug导致了这个问题。 https://code.google.com/p/android/issues/detail?id=197341

相关问题 更多 >