# LBLEUuid

代表一個 128-bit 或 16-bit 的藍牙 UUID。

此類別用於表示藍牙的UUID，主要用來識別不同的低功耗藍牙的屬性（包含信標資訊、服務、或是資料特性）。大多數的低功耗藍牙框架會依賴 UUID 來辨別不同的服務或是資料類型。

16-bit UUID 由 Bluetooth 官方分派，主要為常用的屬性類別。

128-bit UUID 由開發者自行生成並管理。

開發者可以將此物件傳遞給 `Serial.print 來印出其內容。`

### Constructors <a href="#lbleuuid-constructors" id="lbleuuid-constructors"></a>

&#x20;LBLEUuid()

{% tabs %}
{% tab title="LBLEUuid()" %}
可透過字串來創建128-bit UUID，或是利用一個 unsigned short 整數來創建16-bit Assigned Number UUID。

**Syntax**

**Parameters**

String: 創建一個 128-bit UUID。128-bit UUID 可以依照開發者的需求，自行生成或指定。

uint16\_t: 創建一個 16-bit UUID。請注意，16-bit UUID 是由 Bluetooth SIG 所統一分配的，比如說，可以在下面這個列表中，找到不同的服務的 16-bit UUID 的列表： <https://www.bluetooth.com/specifications/gatt/services> 。

**Returns**

LBLEUuid 物件
{% endtab %}
{% endtabs %}

### Methods <a href="#lbleuuid-methods" id="lbleuuid-methods"></a>

&#x20;isEmpty()

&#x20;is16Bit()

&#x20;getUuid16()

{% tabs %}
{% tab title=" isEmpty()" %}
確認一個 UUID 是否為空。

**Syntax**

**Parameters**

none

**Returns**

UUID 是否為空。回傳 true 代表確實為空，回傳 false 代表此 UUID 不為空。
{% endtab %}

{% tab title="is16Bit()" %}
判斷此 UUID 物件是否為 16-bit UUID（由 Bluetooth SIG 統一指定），或是由開發者自行生成 128-bit UUID。

**Syntax**

**Parameters**

none

**Returns**

回傳 true：此 UUID 為 16-bit UUID。請注意，此方法並不會檢查該 16-bit UUID 是否為合法分配的 16-bit UUID，而僅僅只是檢查它的資料長度。

回傳 false：此UUID為 128-bit UUID。
{% endtab %}

{% tab title="getUuid16()" %}
取得一個 16-bit assigned UUID 的 unsigned short 數值。

**Syntax**

**Parameters**

none

**Returns**

16-bit assigned UUID所對應的 unsigned short 整數。

如果此物件不是一個 16-bit UUID，會回傳 0。
{% endtab %}
{% endtabs %}
