ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • NDEF 의 TNF(Type Name Format)
    iOS Swift 2023. 6. 6. 14:57

    NDEF 의 헤더 값 중 TNF는 레코드 내 페이로드의 타입을 설정하는 데 사용됩니다. 

    0  Empty Type 페이로드가 존재하지 않는다
    1 NFC Forum well-known 타입  포럼에서 정의한 형식
    2 MIME 타입 
    3 AURI(Absolute URI type)
    4 NFC Forum External Type  NFC 포럼에서 정의한 형식되로 임의의 타입을 만들 때 사용
    5 Unknown Type
    6 Unchanged 청크 레코드 에서 해당 슬라이스가 이전 슬라이스와 같은 타입임을 나타낼 때 사용
    7 Reserved 사용되지 않음

    NFC 포럼은TNF 1 과 TNF 4 에 대해 Record Type Definition(RTD) 규격에 이를 정의하고 있습니다. TNF 1은 Well Known Types 으로 URN Uniform Resource Name(URN) 명명 규칙을 따라, "urn:nfc:wkt:T" 형식을 따릅니다. 여기서 urn은 URN 네이밍 규칙을 말하고 nfc:wkt는 네임스페이스 식별자를 나타내고 T는 타입을 표현합니다. 잘 알려진 타입(Well Known Type)은 크게 글로벌 타입과 로컬 타입으로 나눌 수 있습니다. 클로벌 타입은 대문자로 시작합니다  예를 들어 텍스트 레코드는 "T", URI 레코드는 "U" 스마트 포인트 레코드는 "Sp" 와 같습니다. 로컬 유형은 공통 문자나 숫자로 시작합니다. 로컬 타입은 일반적으로 개발자에 의해 정의됩니다. 

     

    TNF 4는 NFC 포럼에서 정의하는 외부 타입을 나타내며 이는 NFC에서 정의한 규칙에 따라 임의로 타입을 만들어 사용할 때 지정됩니다. NFC 외부 타입으로 설정된 타입은 아래와 같은 형식을 수 있습니다. 

    URN: "urn:nfc:ext:object-wolrd.tstory.com:test"

    nfc.ext는 외부 타입을 나타내는 네임 스페이스 식별자이고, object-world.tstory.com 이 도메인 네임, test 가 타입 이름이 됩니다. 외부 타입을 정의할 때 도메인 네임 내에 타입 이름을 설정해아 합니다. 

     

    Text Record 

    Text 레코드는 NFC 포럼이 정의한 잘 알려진 타입으로 타입 이름은 T("urn:nfc:wkt:T") 이고 텍스트 데이터를 포함하고 있습니다. 해당 페이로드 데이터의 포맷은 아래와 같습니다. 

     

    첫 번째 비트는 해당 UTF 코딩 방식을 설정합니다. 0 일 경우 UTF-8, 1일 경우 UTF-16을 사용합니다. 다음 비트는 Reserved 로 사용되지 않고 0으로 설정합니다. 다음은 Language Code의 길이로 나머지 6 비트를 사용합니다. 따라서 해당 값의 범위는 0 에서 63이 됩니다.  Language Code는 ISO/IANA Language Code를 사용합니다. 

     

    URI Record

    URI 레코드는 NFC 포럼이 정의한 잘 알려진 타입으로 이름은 U("urn:nfc:wkt:U") 로 URI 데이터를 가지고 있습니다. 해당 페이로드의 포맷은 아래와 같습니다. 

    URI Prefix Code는 1byte 값으로 URI Data의 크기를 줄이기 위해 축약 값을 표현합니다. 사용 가능한 값은 아래와 같습니다. 

    Decimal Content
    0 N/A
    1 http://www.
    2 https://www.
    3 http://
    4 https://
    5 tel:
    6 mailto:
    7 ftp://anonymous:anonymous@
    8 ftp://ftp.
    9 ftps://
    10 sftp://
    11 smb://
    12 nfs://
    13 ftp://
    14 dav://
    15 news:
    16 telnet://
    17 imap:
    18 rtsp://
    19 urn:
    20 pop:
    21 sip:
    22 sips:
    23 tftp:
    24 btspp://
    25 btl2cap://
    26 btgoep://
    27 tcpobex://
    28 irdaobex://
    29 file://
    30 urn:epc:id:
    31 urn:epc:tag:
    32 urn:epc:pat:
    33 urn:epc:raw:
    34 run:epc:
    35 urn:nfc:
    36 ~ 255 Reserved

    URI 데이터는 Uniform Resource Locator(URL) 과 Uniform Resource Name(URN) 데이터를 가지고 있습니다. 

     

    Smart Poster 레코드 

    스마트 포스터 레코드는 NFC 포럼에서 잘 알려진 정의 타입으로 타입 이름은 Sp("urn:nfc:wkt:Sp")입니다. 이는 URI 레코드를 중심으로 해당 레코드를 보조할 다른 레코드로 결합된 레코드입니다. 스마트 포스터 레코드는 하나의 URI 레코드를 가지고 다른 레코드들은 해당 URI 레코드에 첨부되는 형식입니다.

     

     

     

    댓글

Designed by Tistory.