TNF(Type Name Format)について

TNF(Type Name Format)について

TNFは、NDEFがどのような種類かを表す値で、3 bit で表す
このTNFは、以下のように定義されている

0x00

定数はTNF_EMPTY

0x01
NFC forumで定められている既知のタイプ
定数はTNF_WELL_KNOWN

0x02
RFC2046で定義されたメディアタイプ
定数はTNF_MIME_MEDIA

0x03
RFC3986で定義された絶対URI
定数は、TNF_ABSOLUTE_URI

0x04
NFC forum外部タイプ
定数は、TNF_EXTERNAL_TYPE

0x05
不明
定数は、TNF_UNKNOWN

0x06
変更なし
定数は、TNF_UNCHANGED

0x07
予約済み
定数はない

NFC Recordの定数は
AndroidのNfcRecordクラスであらかじめ定義されている定数

TNFを使うときには、この定数を利用する

例えば、TNF_WELL_KNOWNなら
NdefRecord.TNF_WELL_KNOWN
とすることで、この値へアクセスできる

特に重要なのは、0x01 0x02の値

まず、0x01
NFC forum well known type
について
これは、NFC Forum RTD仕様に定義されているRTD type name formatに沿う値がtypeに含まれることを表す

次に、0x02
media type について
これは、RFC2046により定義されているmedia typeに沿う値がtypeに含まれることを表す

RFC、つまり
Request For Comments
これは、さまざまな技術仕様が定められている仕様書のこと

これらの中に media typeの定義がされていて
media typeのTNFを使うには
これらの仕様に則ったPayloadでないとだめ

media typeは、例えば
PNG画像ならimage/png

連絡先データなら
text/x-vcard

また、NFC Forum RTD(Record Type Definition)は
NFC Forumが定義した仕様で
TNFが 0x01 もしくは 0x04 のときには
この仕様に沿った NDEF recordにする必要がある

NDEF recordを作る場合、多くの場合は
0x01 0x02のいずれかを使うことになる

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です