TLV - OTH-AW/isac-oth-aw GitHub Wiki
Damit nun auch die meisten Smartphones ohne zusätzliche Applikationen unsere Tags lesen können, müssen wir unsere NDEF Message noch in einen TLV-Block "verpacken". TLV besteht aus drei verschiedenen Bereichen: T für Tag Field, L für Length Field und V für Value Field.
| Block Type | Wert | Beschreibung |
|---|---|---|
| NULL | 0x00 | Blocks sollten ignoriert werden |
| NDEF Message | 0x03 | Block beinhaltet eine NDEF Message |
| Proprietary | 0xFD | Block beinhaltet proprietäre Informationen |
| Terminator | 0xFE | Letzter TLV Block |
Hier sind für uns nur die Typen NDEF Message und Terminator relevant. 0x03 wird immer das erste Byte sein und 0xFE immer das letzte Byte.
Dieser Bereich gibt an, wie groß unser Value Field ist (in Bytes). Das Length Field kann bis zu drei Byte groß sein.
1-Byte-Format: Wert von 0x00 bis 0xFE
3-Byte-Format:
- Byte 0: 0xFF um zu signalisieren, dass das 3-Byte-Format genutzt wird
- Byte 1 und 2: Wert von 0x00FF bis 0xFFFE
Dieser Bereich beinhaltet unsere NDEF Message.
NDEF Message mit TLV:
03 0F D1 01
0B 54 02 65
6E 4E 44 45
46 54 65 73
74 FE 00 00
Tag Field: 03 (NDEF Message)
Length Field: 0F (also 15 Byte NDEF Message, 1-Byte-Format reicht aus)
NDEF Message: D1 01 0B 54 02 65 6E 4E 44 45 46 54 65 73 74
Tag Field: FE (Terminator)