フォーマットフィールドは、特性値に含まれている単一の値のフォーマット方法を定義します。

このページに掲載した情報は、Bluetooth Core Specification ボリューム 3、パート G、セクション 3.3.3.5.2 で参照されています。

フォーマットがオクテットの整数でない場合、データは 値の最下位ビット内に含まれ、その他のビットはすべて 送信時にゼロに設定され、受信時に無視されます。 特性値がオクテットより小さい場合は、オクテット全体を占めます。 以下のフォーマットの値が定義されます。

Characteristic フォーマットタイプ

フォーマット ショートネーム 説明 指数値
0x00 rfu 今後使用するために予約済み  なし
0x01 ブール値 符号なし、1 ビット、0=false, 1=true なし
0x02 2bit 2 ビット符号なし整数 なし
0x03 ニブル 4 ビット符号なし整数 なし
0x04  uint8 8 ビット符号なし整数 はい
​0x05 uint12 12 ビット符号なし整数 はい
​0x06 uint16 16 ビット符号なし整数 はい
0x07 uint24 24 ビット符号なし整数 はい
​0x08 uint32 32 ビット符号なし整数 はい
​0x09 uint48 48 ビット符号なし整数 はい
​0x0A uint64 64 ビット符号なし整数 はい
​0x0B uint128 128 ビット符号なし整数 はい
​0x0C sint8 8 ビット符号付き整数 はい
​0x0D sint12 12 ビット符号付き整数 はい
​0x0E sint16 16 ビット符号付き整数 はい
​0x0F sint24 24 ビット符号付き整数 はい
​0x10 sint32 32 ビット符号付き整数 はい
​0x11 sint48 48 ビット符号付き整数 はい
​0x12 sint64 64 ビット符号付き整数 はい
​0x13 sint128 128 ビット符号付き整数 はい
​0x14 float32 IEEE-754 32 ビット浮動小数点 なし
​0x15 float64 IEEE-754 64 ビット浮動小数点 なし
​0x16 SFLOAT IEEE-11073 16 ビットSFLOAT なし
​​0x17 FLOAT IEEE-11073 32 ビットFLOAT なし
​​0x18 duint16 IEEE-20601 フォーマット なし
​​0x19 utf8s UTF-8 文字列 なし
​0x1A utf16s UTF-16 文字列 なし
​​0x1B struct Opaque 構造体 なし
​​0x1C-0xFF rfu 今後使用するために予約済み なし

フォーマットの注記

  • IPv4 アドレスを符号化する場合は、uint32 フォーマットタイプを使用します。
  • IPv6 アドレスを符号化する場合は、uint128 フォーマットタイプを使用します。
  • Bluetooth BD_ADDR を符号化する場合は、uint48 フォーマットタイプを使用します。
  • duint16 は uint16 の値 2 個を連結したものです。
Format Short Name Description Exponent Value
0x00 rfu Reserved for future use No
0x01 boolean unsigned 1-bit; 0=false, 1=true No
0x02 2bit unsigned 2-bit integer No
0x03 nibble unsigned 4-bit integer No
0x04 uint8 unsigned 8-bit integer Yes
​0x05 uint12 unsigned 12-bit integer Yes
​0x06 uint16 unsigned 16-bit integer Yes
0x07 uint24 unsigned 24-bit integer Yes
​0x08 uint32 unsigned 32-bit integer Yes
​0x09 uint48 unsigned 48-bit integer Yes
​0x0A uint64 unsigned 64-bit integer Yes
​0x0B uint128 unsigned 128-bit integer Yes
​0x0C sint8 signed 8-bit integer Yes
​0x0D sint12 signed 12-bit integer Yes
​0x0E sint16 signed 16-bit integer Yes
​0x0F sint24 signed 24-bit integer Yes
​0x10 sint32 signed 32-bit integer Yes
​0x11 sint48 signed 48-bit integer Yes
​0x12 sint64 signed 64-bit integer Yes
​0x13 sint128 signed 128-bit integer Yes
​0x14 float32 IEEE-754 32-bit floating point No
​0x15 float64 IEEE-754 64-bit floating point No
​0x16 SFLOAT IEEE-11073 16-bit SFLOAT No
​​0x17 FLOAT IEEE-11073 32-bit FLOAT No
​​0x18 duint16 IEEE-20601 format No
​​0x19 utf8s UTF-8 string No
​0x1A utf16s UTF-16 string No
​​0x1B struct Opaque structure No
​​0x1C-0xFF rfu Reserved for Future Use No

Additional Formatting Notes

  • When encoding an IPv4 address, the uint32 Format type shall be used.
  • When encoding an IPv6 address, the uint128 Format type shall be used.
  • When encoding a Bluetooth BD_ADDR, the uint48 Format type shall be used.
  • A duint16 is two uint16 values concatenated together.