蓝牙核心规范中有关UUID的介绍(base on Bluetooth_core_specification_v5.0)

        UUID是一个通用的唯一标识符,可以保证在所有空间和所有时间都是唯一的。 UUID可以以分布式方式独立创建。 不需要分配的UUID的中央注册表。 UUID是一个128位的值。

        为了减轻存储和传输128位UUID值的负担,已预先分配了一系列UUID值,以分配给经常使用的已注册目的。 该预分配范围中的第一个UUID被称为Bluetooth Base UUID,其值从蓝牙分配的数字文档中为00000000-0000-1000-8000-00805F9B34FB。 预分配范围内的UUID值的别名表示为16位或32位值。 这些别名通常称为16位和32位UUID,但是要注意,每个别名实际上代表一个128位UUID值。 16位或32位UUID所表示的完整的128位值可以通过简单的算术运算来计算,其计算方式如下:

128_bit_value = 16_bit_value * 296 + Bluetooth_Base_UUID
128_bit_value = 32_bit_value * 296 + Bluetooth_Base_UUID

        通过将16位值零扩展到32位,可以将16位UUID转换为32位UUID格式。 一种等效方法是将16位UUID值添加到零值32位UUID。
        PS:相同位数的UUID可以直接比较。 如果要比较两个大小不同的UUID,则在比较之前必须将位数较短的UUID转换为较长的UUID格式。

注:本文来源于Bluetooth_core_specification_v5.0

你可能感兴趣的:(Bluetooth,device,development)