藍牙核心規範中有關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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章