포맷 필드는 특성 값에 포함된 단일 값이 포맷되는 방법을 결정합니다.

이 페이지에 포함된 정보는 Bluetooth 핵심 규격 Volume 3, Part G, Section 3.3.3.5.2와 관련된 내용입니다.

포맷이 옥텟의 8자리 숫자 모두를 나타내지 않을 경우, 해당 데이터 는 그 값의 가장 덜 중요한 비트 내에 포함되어야 하며, 모든 다른 비트 는 전송 시에 0으로 설정되어 수신 시 무시되어야 합니다.  특성 값이 옥텟 이하일 경우, 그 값은 옥텟 전체를 차지하게 됩니다. 다음의 포맷 값이 정의됐습니다.

특성 포맷 유형

포맷짧은 이름설명지수 값
0x00rfu추후 사용을 위해 유보되어 있음아니요
0x01불 방식무부호 1비트. 0=거짓, 1=참아니요
0x022비트무부호 2비트 정수아니요
0x03니블무부호 4비트 정수아니요
0x04uint8무부호 8비트 정수
0x05uint12무부호 12비트 정수
0x06uint16무부호 16비트 정수
0x07uint24무부호 24비트 정수
0x08uint32무부호 32비트 정수
0x09uint48무부호 48비트 정수
0x0Auint64무부호 64비트 정수
0x0Buint128무부호 128비트 정수
0x0Csint8부호 8비트 정수
0x0Dsint12부호 12비트 정수
​0x0Esint16부호 16비트 정수
0x0Fsint24부호 24비트 정수
0x10sint32부호 32비트 정수
0x11sint48부호 48비트 정수
0x12sint64부호 64비트 정수
0x13sint128부호 128비트 정수
0x14float32IEEE-754 32비트 부동소수점아니요
0x15float64IEEE-754 64비트 부동소수점아니요
0x16SFLOATIEEE-11073 16비트 SFLOAT아니요
0x17FLOATIEEE-11073 32비트 FLOAT아니요
0x18duint16IEEE-20601 포맷아니요
0x19utf8sUTF-8 문자열아니요
0x1Autf16sUTF-16 문자열아니요
0x1Bstruct불투명 구조아니요
0x1C-0xFFrfu추후 사용을 위해 유보되어 있음아니요

추가적인 포맷 관련 노트

  • IPv4 주소를 코드화할 때, uint32 포맷 유형을 사용해야 합니다.
  • IPv6 주소를 코드화할 때, uint128 포맷 유형을 사용해야 합니다.
  • Bluetooth BD_ADDR를 코드화할 때, uint48 포맷 유형을 사용해야 합니다.
  • duint16은 두 개의 uint16 값이 함께 연결되어 있습니다.
FormatShort NameDescriptionExponent Value
0x00rfuReserved for future useNo
0x01booleanunsigned 1-bit; 0=false, 1=trueNo
0x022bitunsigned 2-bit integerNo
0x03nibbleunsigned 4-bit integerNo
0x04uint8unsigned 8-bit integerYes
​0x05uint12unsigned 12-bit integerYes
​0x06uint16unsigned 16-bit integerYes
0x07uint24unsigned 24-bit integerYes
​0x08uint32unsigned 32-bit integerYes
​0x09uint48unsigned 48-bit integerYes
​0x0Auint64unsigned 64-bit integerYes
​0x0Buint128unsigned 128-bit integerYes
​0x0Csint8signed 8-bit integerYes
​0x0Dsint12signed 12-bit integerYes
​0x0Esint16signed 16-bit integerYes
​0x0Fsint24signed 24-bit integerYes
​0x10sint32signed 32-bit integerYes
​0x11sint48signed 48-bit integerYes
​0x12sint64signed 64-bit integerYes
​0x13sint128signed 128-bit integerYes
​0x14float32IEEE-754 32-bit floating pointNo
​0x15float64IEEE-754 64-bit floating pointNo
​0x16SFLOATIEEE-11073 16-bit SFLOATNo
​​0x17FLOATIEEE-11073 32-bit FLOATNo
​​0x18duint16IEEE-20601 formatNo
​​0x19utf8sUTF-8 stringNo
​0x1Autf16sUTF-16 stringNo
​​0x1BstructOpaque structureNo
​​0x1C-0xFFrfuReserved for Future UseNo

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.