版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、1 概覽國(guó)際標(biāo)準(zhǔn)ISO / IEC 18092 ,近場(chǎng)通信 - 接口和協(xié)議( NFCIP -1),定義了一個(gè)接口和協(xié)議用于工作在13.56MHz的設(shè)備間進(jìn)行近距離、簡(jiǎn)單的無(wú)線互連。NFC數(shù)據(jù)交換格式( NDEF )規(guī)范定義了一個(gè)交換信息的消息封裝格式,例如在一個(gè)NFC論論壇設(shè)備和其他NFC 論壇設(shè)備,或NFC 論壇標(biāo)簽之間。NDEF是一種輕便的二進(jìn)制消息格式,可以用于封裝一個(gè)或多個(gè)任意類(lèi)型的應(yīng)用程序定義的有效載荷,并構(gòu)成一個(gè)單一消息結(jié)構(gòu)。每個(gè)有效載荷是由一個(gè)類(lèi)型、長(zhǎng)度和一個(gè)可選的標(biāo)識(shí)符進(jìn)行描述。類(lèi)型標(biāo)識(shí)符可能是URI , MIME媒體類(lèi)型,或特定NFC類(lèi)型。后者的格式支持NFC論壇應(yīng)用中常用的
2、簡(jiǎn)潔標(biāo)識(shí),或那些出于自身特定NFC目的的組織采用的標(biāo)識(shí)。凈荷長(zhǎng)度是一個(gè)無(wú)符號(hào)整數(shù),表明有效載荷的字節(jié)數(shù),小的有效載荷可以采用結(jié)構(gòu)緊湊的短記錄布局??蛇x的有效負(fù)載標(biāo)識(shí)符允許多個(gè)有效載荷相相互參照,產(chǎn)生聯(lián)系。NDEF有效載荷可能包括嵌套的NDEF消息或數(shù)據(jù)生成時(shí)長(zhǎng)度未知的鏈塊。NDEF是嚴(yán)格意義上的信息格式,它沒(méi)有提供一個(gè)連接或邏輯電路的概念,也不涉及線頭的問(wèn)題。1.1 目標(biāo)NFC數(shù)據(jù)交換格式( NDEF )規(guī)范是NFC論壇的通用數(shù)據(jù)格式用于NFC 論壇設(shè)備和NFC 論壇標(biāo)簽。NFC數(shù)據(jù)交換格式規(guī)范定義NDEF數(shù)據(jù)結(jié)構(gòu)格式以及規(guī)則,構(gòu)造一個(gè)有效的NDEF消息作為有序和完整的NDEF記錄集合。此外,
3、它還定義了一種機(jī)制用于指定封裝在NDEF記錄里的應(yīng)用數(shù)據(jù)的類(lèi)型。NDEF規(guī)范只定義了數(shù)據(jù)結(jié)構(gòu)格式,用來(lái)交換應(yīng)用程序或服務(wù)之間互操作的具體數(shù)據(jù),它沒(méi)有詳細(xì)定義任何記錄類(lèi)型 記錄類(lèi)型在單獨(dú)的規(guī)范中定義。NDEF規(guī)范假定一個(gè)可靠的基礎(chǔ)協(xié)議,因此本規(guī)范不指定兩個(gè)NFC論壇設(shè)備之間,或論壇設(shè)備與標(biāo)簽之間的交換的數(shù)據(jù)。建議讀者回顧NFCIP - 1的傳輸協(xié)議ISO / IEC 18092 。使用NDEF的一個(gè)例子是,當(dāng)兩個(gè)NFC論壇設(shè)備相互接近,一個(gè)NDEF消息基于NFC論壇LLCP協(xié)議被交換。當(dāng)一個(gè)NFC論壇設(shè)備接近一個(gè)NFC論壇標(biāo)簽,一條 NDEF消息通過(guò)NFC論壇標(biāo)簽協(xié)議,從NFC論壇標(biāo)簽被檢索到。
4、NDEF消息的數(shù)據(jù)格式在這兩種情況下是一樣的,因此一個(gè)NFC論壇設(shè)備可以處理NDEF信息,而與它正在通信的設(shè)備或標(biāo)簽的類(lèi)型無(wú)關(guān)。由于大量的現(xiàn)有消息封裝格式、記錄標(biāo)記協(xié)議和復(fù)用協(xié)議,最好明確有關(guān)NDEF的設(shè)計(jì)目標(biāo),特別是,關(guān)于NDEF范圍之外的。1.1.1設(shè)計(jì)目標(biāo)NDEF的設(shè)計(jì)目標(biāo)是提供一個(gè)高效的和簡(jiǎn)單的消息格式,可滿足以下幾點(diǎn):封裝任意文件和實(shí)體,包括加密的數(shù)據(jù),XML文檔,XML片段,圖像數(shù)據(jù)如GIF、JPEG文件等;封裝的文件和實(shí)體最初大小未知。這種能力可以用來(lái)封裝動(dòng)態(tài)生成的內(nèi)容或非常大的由數(shù)據(jù)塊構(gòu)成的實(shí)體。匯總多個(gè)以某種方式在邏輯上相關(guān)聯(lián)的文檔和實(shí)體封裝成一個(gè)單一的消息,例如, NDEF
5、可用于封裝NFC特定消息和一組引用NFC特定消息的標(biāo)準(zhǔn)類(lèi)型的附件。小型有效載荷的緊湊型封裝應(yīng)當(dāng)避免引入沒(méi)有必要的復(fù)雜性到解析器。為了獲得效率和簡(jiǎn)單性,本規(guī)范提供的機(jī)制已經(jīng)刻意限制。 NDEF還沒(méi)有被設(shè)計(jì)成一個(gè)通用的消息說(shuō)明或文件格式,如MIME或XML ,而是NFC的應(yīng)用程序可以利用這種格式在NDEF消息封裝它們。1.1.2反目標(biāo) 以下列表標(biāo)識(shí)NDEF范圍以外的項(xiàng)目: NDEF不關(guān)心NDEF消息攜帶的有效載荷的類(lèi)型,也不關(guān)心有關(guān)該信息所隱含的消息交換模式。 NDEF不以任何方式引入連接或邏輯電路(虛擬的或其他)的概念。 NDEF不會(huì)嘗試處理,當(dāng)使用面向流的協(xié)議,如TCP,線頭可能發(fā)生的阻塞問(wèn)題
6、。 1.2 參考ISO/IEC 18092 ISO/IEC 18092, “Information Technology- Telecommunications and information exchange between systems- Near Field Communication -Interface and Protocol (NFCIP-1)”.NFC RTD “NFC Record Type Definition (RTD) Specification”, NFC Forum, 2006. RFC 1700 Reynolds, J. and J. Postel, “Assi
7、gned Numbers”, STD 2, RFC 1700,October 1994.RFC 1900 B. Carpenter, Y. Rekhter, “Renumbering Needs Work”, RFC 1900, IAB,February 1996.RFC 2046 N. Freed, N. Borenstein, “Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types” RFC 2046, Innosoft, First Virtual,November 1996.RFC 2047 K. Moor
8、e, “MIME (Multipurpose Internet Mail Extensions) Part Three:Message Header Extensions for Non-ASCII Text”, RFC 2047,University of Tennessee, November 1996.RFC 2048 N. Freed, J. Klensin, J. Postel, “Multipurpose Internet Mail Extensions(MIME) Part Four: Registration Procedures”, RFC 2048, Innosoft, M
9、CI,ISI, November 1996.RFC 2119 S. Bradner, “Key words for use in RFCs to Indicate Requirement Levels”, RFC 2119, Harvard University, March 1997./rfc/rfc2119.htmlRFC 2616 R. Fielding, J. Gettys, J. C. Mogul, H. F. Nielsen, T. Berners-Lee,“Hypertext Transfer Protocol - HTTP/1.1”
10、, RFC 2616, U.C. Irvine,DEC W3C/MIT, DEC, W3C/MIT, W3C/MIT, January 1997.RFC 2717 R. Petke, I. King, “Registration Procedures for URL Scheme Names”,BCP: 35, RFC 2717, UUNET Technologies, Microsoft Corporation,November 1999.RFC 2718 L. Masinter, H. Alvestrand, D. Zigmond, R. Petke, “Guidelines for ne
11、w URL Schemes”, RFC 2718, Xerox Corporation, Maxware, Pirsenteret,WebTV Networks, Inc., UUNET Technologies, November 1999.RFC 2732 R. Hinden, B. Carpenter, L. Masinter, “Format for Literal IPv6 Addresses in URL's”, RFC 2732, Nokia, IBM, AT&T, December 1999.RFC 3023 M. Murata, S. St. Laurent,
12、 D. Kohn, “XML Media Types” RFC 3023,IBM Tokyo Research Laboratory, , Skymoon Ventures,January 2001.RFC 3986 T. Berners-Lee, R. Fielding, L. Masinter, “Uniform Resource Identifiers(URI):Generic Syntax”, RFC 3986, MIT/LCS, U.C. Irvine, Xerox Corporation, January 2005. /rfc/rfc3
13、986.htmlURI SCHEME List of Uniform Resource Identifier (URI) schemes registered by IANA is available at:/assignments/uri-schemes1.3 實(shí)施NFC論壇數(shù)據(jù)交換格式規(guī)范是一個(gè)開(kāi)放的,由近場(chǎng)通信論壇支持的規(guī)范,該公司位于:401 Edgewater Place, Suite 600Wakefield, MA, 01880Tel.: +1 781-876-8955Fax: +1 781-224-1239http:/www.nfc-foru
14、/該設(shè)備技術(shù)工作組包含了本規(guī)范。1.4 特殊字使用這篇文檔中的關(guān)鍵字“MUST”,“MUST NOT”,“REQUIRED”,“SHALL”,“SHALL NOT”,“SHOULD”,“SHOULD NOT”,“RECOMMMENDED”,“MAY”和“OPTIONAL”在RFC 2119中解釋。1.5 名字和logo使用近場(chǎng)通信論壇有關(guān)使用NFC論壇商標(biāo)和NFC論壇標(biāo)志的政策如下:無(wú)論是否為NFC論壇的會(huì)員,任何公司可以要求兼容NFC論壇的規(guī)格。最新會(huì)員特權(quán)文件規(guī)定使用NFC論壇標(biāo)志的權(quán)利被自動(dòng)授予那些在一段時(shí)間內(nèi)支付會(huì)費(fèi)的指定成員。會(huì)員的分銷(xiāo)商和銷(xiāo)售代表可以使用NFC論壇標(biāo)志促進(jìn)
15、該成員名下的產(chǎn)品銷(xiāo)售。該標(biāo)志應(yīng)印刷成黑色或彩色像Logo頁(yè)面所示的那樣,這個(gè)從可從NFC論壇中獲得。標(biāo)志的縱橫比應(yīng)維持,但大小可以變化。標(biāo)志中任何內(nèi)容均不得添加或刪除。由于NFC論壇的名稱(chēng)是近場(chǎng)通信論壇的一個(gè)商標(biāo),以下聲明應(yīng)包括出現(xiàn)該名稱(chēng)或標(biāo)志的已發(fā)表的文獻(xiàn)和廣告材料:NFC論壇和NFC論壇商標(biāo)是近場(chǎng)通信論壇的商標(biāo)。1.6 知識(shí)產(chǎn)權(quán)NFC數(shù)據(jù)交換格式(NDEF)規(guī)格符合在2004.11.9批準(zhǔn)的NFC論壇知識(shí)產(chǎn)權(quán)政策規(guī)定,并且符合在 2004.12.17批準(zhǔn)的NFC論壇規(guī)定。1.7 術(shù)語(yǔ)NDEF應(yīng)用在NFC論壇設(shè)備邏輯高層的應(yīng)用使用NDEF來(lái)組織信息用于和其他NFC論壇設(shè)備或NFC論壇標(biāo)簽進(jìn)行
16、交換數(shù)據(jù)。也可以稱(chēng)為用戶應(yīng)用或NDEF用戶應(yīng)用。NDEF消息本規(guī)范定義的基本消息結(jié)構(gòu)。一個(gè)NDEF消息中包含一個(gè)或多個(gè)NDEF記錄(見(jiàn)2.3.1節(jié)) 。NDEF記錄一個(gè)NDEF記錄中包含一個(gè)由類(lèi)型、長(zhǎng)度和可選的標(biāo)識(shí)符描述的有效載荷(見(jiàn)第2.3.2節(jié)) 。NDEF短記錄SR標(biāo)志設(shè)置為1的NDEF記錄;短記錄中的PAYLOAD_LENGTH是一個(gè)八字節(jié),允許攜帶最多255個(gè)字節(jié)的有效載荷或塊(見(jiàn)第3.2.4節(jié)) 。NDEF記錄塊包含有效載荷的一個(gè)塊,而不是一個(gè)完整的有效載荷的NDEF記錄(見(jiàn)第2.3.3節(jié)) 。每個(gè)記錄塊攜帶分塊有效載荷的一部分,除了每個(gè)有效載荷塊的最后一個(gè)記錄,其他記錄的CF標(biāo)志
17、設(shè)置為1。NDEF負(fù)載應(yīng)用數(shù)據(jù)由NDEF記錄攜帶。NDEF分塊有效載荷應(yīng)用數(shù)據(jù)已經(jīng)被劃分成多個(gè)塊,每個(gè)塊次攜帶單獨(dú)的NDEF記錄,其中除了最后一個(gè)記錄,其他記錄的CF標(biāo)志設(shè)置為1 。這種機(jī)制可以用來(lái)攜帶事先未知有效負(fù)荷大小的動(dòng)態(tài)生成內(nèi)容,或者非常大、不適合到一個(gè)單一的NDEF記錄的實(shí)體。分塊的有效載荷并不打算支持復(fù)用的內(nèi)容或流,因此這種用法不贊成使用。(參見(jiàn)第2.3.3節(jié))。NDEF負(fù)載長(zhǎng)度在一個(gè)NDEF記錄中的有效載荷的大小表示為字節(jié)數(shù)(見(jiàn)第2.4.1節(jié)) 。NDEF負(fù)載類(lèi)型一個(gè)標(biāo)識(shí)符,用于指示有效負(fù)載的類(lèi)型。該規(guī)范支持的URIRFC 3986 , MIME媒體類(lèi)型結(jié)構(gòu) 2616 ,以及NF
18、C的具體記錄類(lèi)型作為類(lèi)型標(biāo)識(shí)符(見(jiàn)第2.4.2 ) 。NDEF負(fù)載標(biāo)識(shí)符可選的URI可以被用來(lái)確定一個(gè)有效載荷(見(jiàn)第2.4.3節(jié)) 。NDEF發(fā)生器一個(gè)將應(yīng)用程序定義的有效載荷封裝在NDEF消息的實(shí)體或模塊。NDEF解析器一個(gè)用來(lái)解析NDEF消息取出有效負(fù)荷送往NDEF應(yīng)用的實(shí)體或模塊。用戶應(yīng)用見(jiàn)NDEF應(yīng)用。2 NDEF機(jī)制本節(jié)介紹NDEF使用的機(jī)制。具體的語(yǔ)法機(jī)制在第3節(jié)中定義。2.1 簡(jiǎn)介NFC論壇的數(shù)據(jù)交換格式是一種輕量級(jí)的二進(jìn)制消息格式設(shè)計(jì),用來(lái)封裝一個(gè)或多個(gè)應(yīng)用程序定義的有效載荷送入一個(gè)單一的消息結(jié)構(gòu)。一個(gè)NDEF消息包含一個(gè)或多個(gè)NDEF記錄,每個(gè)記錄攜帶任意類(lèi)型的有效載荷和高達(dá)
19、232 -1個(gè)字節(jié)的大小。記錄可以鏈接在一起,以支持更大的有效載荷。一個(gè)NDEF記錄帶有三個(gè)參數(shù)用于描述它的有效載荷:有效載荷長(zhǎng)度,有效載荷類(lèi)型,和一個(gè)可選的有效負(fù)載標(biāo)識(shí)符。這些參數(shù)的意義如下所示:有效載荷長(zhǎng)度有效負(fù)荷長(zhǎng)度指示有效載荷的字節(jié)數(shù)(見(jiàn)2.4.1節(jié)) 。通過(guò)提供記錄前8位的有效負(fù)荷長(zhǎng)度,邊界檢測(cè)是可能的。有效負(fù)荷類(lèi)型NDEF有效載荷類(lèi)型標(biāo)識(shí)符指示的是有效載荷的類(lèi)型。 NDEF支持的URIRFC 3986 , MIME媒體類(lèi)型結(jié)構(gòu) RFC 2046 ,以及NFC特定類(lèi)型的格式類(lèi)型標(biāo)識(shí)符(見(jiàn)第2.4.2節(jié) ) 。通過(guò)指示一個(gè)有效負(fù)載的類(lèi)型,可以調(diào)度有效載荷到相應(yīng)的用戶應(yīng)用程序。有效載荷標(biāo)
20、識(shí)符有效負(fù)載可以給出在一個(gè)絕對(duì)的或相對(duì)的URI形式的可選標(biāo)識(shí)符(見(jiàn)第2.4.3節(jié)) 。標(biāo)識(shí)符的使用能夠支持URI鏈接技術(shù)交叉引用其他有效載荷。2.2 預(yù)期用途NDEF的預(yù)期用法如下:用戶應(yīng)用程序要封裝一個(gè)或多個(gè)相關(guān)文件到一個(gè)單一的NDEF消息。例如,這可以是包含一組標(biāo)準(zhǔn)化類(lèi)型附件的、應(yīng)用程序特定的消息。該NDEF發(fā)生器以有效載荷或分塊有效載荷形式封裝每個(gè)文檔在NDEF記錄,包含了有效載荷的類(lèi)型、長(zhǎng)度和可選的標(biāo)識(shí)符。NDEF記錄被放置在一起形成一個(gè)單一的NDEF消息。NDEF消息通過(guò)鏈路被傳輸?shù)搅硪粋€(gè)NFC論壇設(shè)備,接收并解析,或者作為一個(gè)中間步驟,該消息被寫(xiě)入到一個(gè)NFC論壇標(biāo)簽。接近這個(gè)NF
21、C標(biāo)簽的NFC論壇設(shè)備將從這個(gè)標(biāo)簽讀取NDEF消息,并把它交給了NDEF解析器。該NDEF解析器解構(gòu)NDEF消息和獲取有效載荷送到一個(gè)(也可能是不同的)用戶應(yīng)用程序。每個(gè)NDEF消息一定是以一個(gè)整體形式被發(fā)送或接收。NDEF記錄可以封裝任何類(lèi)型的文件。通過(guò)使用媒體類(lèi)型,例如“ MESSAGE/RFC822 ”,NDEF記錄可以攜帶MIME消息。一個(gè)NDEF消息可以使用NFC特定的預(yù)定義類(lèi)型(見(jiàn) NFC RTD )封裝在一個(gè)NDEF記錄。要注意,雖然MIME實(shí)體被支持,但是不能假定一個(gè)記錄有效負(fù)載是MIME ; NDEF 不作出任何有關(guān)NDEF消息中攜帶的有效載荷的類(lèi)型假設(shè)。換句話說(shuō),一個(gè)NDE
22、F解析器不需要檢查NDEF記錄類(lèi)型,也不對(duì)一個(gè)NDEF記錄內(nèi)部進(jìn)行檢查。NDEF沒(méi)有提供任何錯(cuò)誤處理。接收到的包含錯(cuò)誤的NDEF消息或包含一個(gè)超出處理能力的字段的NDEF消息,由NDEF解析器來(lái)確定它們的含義。用戶應(yīng)用程序有責(zé)任提供額外的功能,例如作為整個(gè)系統(tǒng)一部分的QoS 。2.3 NDEF封裝結(jié)構(gòu)2.3.1消息一個(gè)NDEF消息是由一個(gè)或多個(gè)NDEF記錄。消息中的第一個(gè)記錄有MB(消息開(kāi)始)標(biāo)志設(shè)置,消息中的最后一條記錄有 ME(消息結(jié)束)標(biāo)志設(shè)置(見(jiàn)第3.2.1和3.2.2節(jié))。最小消息長(zhǎng)度是由在同一個(gè)記錄設(shè)置的MB和ME標(biāo)志決定。注意至少需要兩個(gè)記錄塊是才能對(duì)分塊有效載荷進(jìn)行編碼(見(jiàn) 2
23、.3.3節(jié))??梢栽贜DEF消息中攜帶的NDEF記錄最大數(shù)目沒(méi)有限制。 NDEF消息不能重疊,也就是說(shuō),MB和ME的標(biāo)志不得用于NDEF消息之間。NDEF消息可以嵌套,將一個(gè)完整的NDEF消息作為有效負(fù)荷放在一個(gè)NDEF記錄中 。NDEF消息R1MB=1RrRsRt ME=1圖1.包含多個(gè)記錄的NDEF消息該消息頭在左,尾在右,通過(guò)邏輯記錄索引符 t> s>r>1標(biāo)識(shí)。MB(消息開(kāi)始)標(biāo)志設(shè)置在第一條記錄(索引1),ME(消息結(jié)束) 標(biāo)志設(shè)置在最后一個(gè)記錄(索引t)。 實(shí)際NDEF記錄并沒(méi)有索引號(hào),該順序由記錄產(chǎn)生的順序隱式給出。例如,如果記錄由一個(gè)中間應(yīng)用程序重新打包 ,則
24、該應(yīng)用程序負(fù)責(zé)確保記錄的順序被保留。2.3.2記錄一條記錄是NDEF消息攜帶有效負(fù)荷的單位。每個(gè)有效負(fù)荷由它自帶的參數(shù)(見(jiàn)2.4節(jié))描述。2.3.3記錄塊記錄塊是攜帶一個(gè)分塊有效負(fù)荷。分塊有效載荷可以被用來(lái)分割動(dòng)態(tài)生成的內(nèi)容或大的實(shí)體,合并形成多個(gè)后續(xù)記錄塊有序放置同在一個(gè)NDEF消息中。 分塊并非引入復(fù)用或數(shù)據(jù)流到NDEF機(jī)制,它絕不能用于這些用途。它是一種減少發(fā)生器側(cè)輸出緩沖的機(jī)制。類(lèi)似于在HTTP/1.1RFC2616所定義的消息分塊機(jī)制 。 一個(gè)NDEF消息可以包含零個(gè)或多個(gè)分塊有效載荷。每個(gè)分塊有效載荷被編碼成初始記錄塊加零個(gè)或多個(gè)中間記錄塊,最后是一個(gè)終止記錄塊。每個(gè)記錄塊以下面的
25、編碼規(guī)則進(jìn)行編碼:初始記錄塊是包含CF(分塊標(biāo)志)標(biāo)志設(shè)置(見(jiàn)3.2.3節(jié))的NDEF記錄塊。不管PAYLOAD_LENGTH字段是不是0,整個(gè)分塊有效負(fù)荷的類(lèi)型必須可以在TYPE字段中被查找。ID字段可以用來(lái)攜帶整個(gè)有效負(fù)荷塊的標(biāo)識(shí)符。初始記錄的PAYLOAD_LENGTH字段只表明了初始記錄中PAYLOAD攜帶的數(shù)據(jù)大小,并不是整個(gè)有效負(fù)荷的大?。ㄒ?jiàn)2.4.1)。中間記錄塊是一個(gè)包含CF標(biāo)志設(shè)置的NDEF記錄,表明了該記錄塊包含相同類(lèi)型的下一個(gè)數(shù)據(jù)塊,并且包含和初始記錄塊相同的標(biāo)識(shí)符。TYPE_LENGTH和IL字段必須是0,TNF(類(lèi)型名稱(chēng)格式)字段必須是0x06(不能改變)(見(jiàn)3.2.
26、6節(jié))。PAYLOAD_LENGTH字段僅表明該單一中間記錄PAYLOAD所包含的數(shù)據(jù)大小。終止記錄塊是CF標(biāo)志被清除的NDEF記錄塊,表明該記錄是最后一個(gè)相同類(lèi)型、并包含和初始記錄塊相同標(biāo)識(shí)符的數(shù)據(jù)塊。和中間數(shù)據(jù)塊一樣,TYPE_LENGTH值和IL值必須是0,TNF(類(lèi)型名稱(chēng)格式)值必須是0x06(不能改變)(見(jiàn)3.2.6節(jié))。PAYLOAD_LENGTH值僅表明該終止記錄PAYLOAD所包含的數(shù)據(jù)大小。分塊有效負(fù)荷數(shù)據(jù)必須是被整體封裝在一個(gè)單一的NDEF消息中。也就是說(shuō),一個(gè)有效負(fù)荷塊不能分割成多個(gè)NDEF消息。因此,初始記錄塊和中間記錄塊都不能使ME標(biāo)志被設(shè)置。2.4 NDEF有效負(fù)荷
27、描述符每個(gè)記錄包含關(guān)于所攜帶的有效負(fù)荷的信息。這節(jié)介紹有效負(fù)荷描述機(jī)制。2.4.1有效負(fù)荷長(zhǎng)度不管兩個(gè)記錄之間如何聯(lián)系,有效負(fù)荷長(zhǎng)度總是表明了封裝在該記錄的有效負(fù)荷長(zhǎng)度。這個(gè)長(zhǎng)度值在PAYLOAD_LENGTH字段中。PAYLOAD_LENGTH值在短記錄中是一個(gè)字節(jié),在正常記錄中是4個(gè)字節(jié)。短記錄由SR標(biāo)志置1來(lái)表明(見(jiàn)3.2.4節(jié))。有效負(fù)荷長(zhǎng)度可以為0。2.4.2有效負(fù)荷類(lèi)型記錄的有效負(fù)荷類(lèi)型表明有效負(fù)荷所攜帶數(shù)據(jù)的種類(lèi)。這可以用來(lái)指導(dǎo)用戶應(yīng)用程序?qū)τ行ж?fù)荷處理過(guò)程。第一個(gè)記錄的類(lèi)型,通常提供的處理上下文應(yīng)當(dāng)不僅僅針對(duì)第一個(gè)記錄而是整個(gè)NDEF消息。附加的用于處理消息的上下文應(yīng)當(dāng)被提供,
28、例如,消息被接收是通過(guò)鏈接層服務(wù)接口(LSAP)還是傳輸服務(wù)接口(例如TCP,UDP等)和其他通信參數(shù)。需要強(qiáng)調(diào)的是,NDEF沒(méi)有具體的處理模型應(yīng)用于NDEF消息。有效載荷類(lèi)型的用法是完全由用戶應(yīng)用程序決定。以上關(guān)于用法的意見(jiàn)應(yīng)被視為構(gòu)建處理約定,包括更高級(jí)別的NDEF應(yīng)用程序語(yǔ)義的映射準(zhǔn)則。TYPE值的格式使用TNF(類(lèi)型名稱(chēng)格式)值(見(jiàn)3.2.6節(jié))描述。這種規(guī)范支持TYPE字段以NFC論壇熟知(well-known)的類(lèi)型,NFC論壇以外的類(lèi)型,絕對(duì)URIRFC3986和MIME媒體類(lèi)型結(jié)構(gòu)表述。NFC論壇規(guī)定的第一種有效載荷類(lèi)型支持NFC論壇參考應(yīng)用NFC RTD; URI提供價(jià)值空間
29、的分散控制; 媒體類(lèi)型允許NDEF利用由IANA維護(hù)RFC1700的媒體類(lèi)型值空間的優(yōu)勢(shì)。 媒體類(lèi)型注冊(cè)過(guò)程在RFC2048RFC2048中概述。不支持使用非注冊(cè)媒體類(lèi)型。 URI方案注冊(cè)過(guò)程在RFC2717RFC 2717描述。推薦的做法是只使用由IANA注冊(cè)的熟知(well-known)URI方案 (參見(jiàn)URI方案的最新列表)。URI可以用于那些由URI的定義的消息類(lèi)型?;赬ML的消息類(lèi)型、攜帶有效負(fù)載的記錄 可以使用根元素的XML命名空間標(biāo)識(shí)符作為 TYPE字段值。例如, SOAP/1.1信息可以由URI所表示:/soap/envelo
30、pe/注意:在US-ASCII 范圍外的URI 字符編碼預(yù)留給NDEF 應(yīng)用。因此,NDEF 解析器不能指定該區(qū)域的任何特定編碼。關(guān)于解析URI 和非ASCII 字符的字符編碼要求的更多信息,請(qǐng)參見(jiàn) RFC 3986 和特定協(xié)議計(jì)劃規(guī)范(如HTTP ,URN 等)。攜帶現(xiàn)有的、已注冊(cè)媒體類(lèi)型的有效載荷的記錄應(yīng)攜帶該媒體類(lèi)型的TYPE 字段值。TYPE 字段值表示有效負(fù)載的類(lèi)型,它不適用于包含給定類(lèi)型的實(shí)體的 MIME 消息。例如,媒體類(lèi)型image / jpeg 表示該有效載荷是采用JFIF 編碼的,RFC 2046所定義的RFC 2046 ,JPEG 格式的圖像,。同樣,媒體類(lèi)型messag
31、e/ http 表示該有效載荷是一個(gè)HTTP 消息,由RFC 2616定義的 RFC 2616 。該值application/ xml;charset= “UTF - 16 “ 表示該有效載荷是一個(gè)XML 文檔,由RFC 3023 RFC3023 中定義。2.4.3有效載荷識(shí)別可選的有效負(fù)載標(biāo)識(shí)符允許用戶應(yīng)用程序確定在一個(gè)NDEF 記錄攜帶的有效載荷。通過(guò)提供一個(gè)有效負(fù)載的標(biāo)識(shí)符,就能夠?yàn)槠渌С只赨RI 連接技術(shù)的有效載荷與該有效負(fù)荷產(chǎn)生關(guān)聯(lián)。 NDEF 不要求任何特定的鏈接機(jī)制或格式,并將它留給用戶應(yīng)用程序用它喜歡的語(yǔ)言來(lái)定義。重要的是,有效負(fù)載的標(biāo)識(shí)符被保持,以便引用那些完整的有效載荷
32、。如果記錄被重新包裝,例如,通過(guò)一個(gè)中間的應(yīng)用程序,則該應(yīng)用程序負(fù)責(zé)確保有效載荷之間的鏈接關(guān)系被保留。2.5 NDEF機(jī)制測(cè)試要求本節(jié)確認(rèn)在第2章中定義的NDEF 機(jī)制的可測(cè)試的需求。 本節(jié)和下表的目的是指導(dǎo)一致性測(cè)試過(guò)程,并不能取代在本章的其他部分提出的規(guī)范性要求。測(cè)試要求1.NDEF機(jī)制測(cè)試要求消息要求每個(gè)NDEF 消息必須以整體的形式被交換。消息的第一個(gè)記錄中MB(消息開(kāi)始)標(biāo)志被設(shè)置。消息的最后一個(gè)記錄中ME(消息結(jié)束)標(biāo)志被設(shè)置。NDEF消息禁止重疊,也就是說(shuō),MB和ME標(biāo)志不能用于NDEF 消息內(nèi)部。記錄塊要求每個(gè)有效負(fù)荷塊被編碼成一個(gè)初始記錄塊、0個(gè)或多個(gè)中間記錄塊和終止記錄塊。
33、初始記錄塊是包含CF(記錄標(biāo)志)標(biāo)志設(shè)置的NDEF記錄塊。整個(gè)有效負(fù)荷塊的類(lèi)型必須在初始記錄塊的TYPE 字段標(biāo)識(shí)。每個(gè)中間記錄塊是一個(gè)包含CF標(biāo)志設(shè)置的NDEF記錄。每個(gè)中間記錄塊的TYPE_LENGTH字段和IL字段值必須是0。 每個(gè)中間記錄塊的TNF(類(lèi)型名稱(chēng)格式)值必須是0x06(不能改變)。每個(gè)中間記錄塊的PAYLOAD_LENGTH字段僅表明單一中間記錄PAYLOAD所包含的數(shù)據(jù)大小。終止記錄塊是包含CF標(biāo)志清除的NDEF記錄塊。終止記錄塊的TYPE_LENGTH值和IL值必須是0。 終止記錄塊的TNF(類(lèi)型名稱(chēng)格式)值必須是0x06(不能改變)。終止記錄塊的PAYLOAD_LEN
34、GTH字段僅表明該記錄PAYLOAD字段所包含的數(shù)據(jù)大小。分塊有效負(fù)荷數(shù)據(jù)必須是被整體封裝在一個(gè)單一的NDEF消息中。初始記錄塊禁止設(shè)置ME(消息結(jié)束)標(biāo)志。中間記錄塊禁止設(shè)置ME(消息結(jié)束)標(biāo)志。NDEF 有效負(fù)荷要求正常記錄的PAYLOAD_LENGTH 字段是4個(gè)字節(jié)。SR (短記錄)比特標(biāo)志值為1的記錄的PAYLOAD_LENGTH 字段是1個(gè)字節(jié)短記錄的PAYLOAD_LENGTH 字段必須是0-255之間的值正常記錄的PAYLOAD_LENGTH 字段必須是0-232-1之間的值3 NDEF規(guī)范3.1 數(shù)據(jù)轉(zhuǎn)換順序本文檔中描述的NDEF 記錄發(fā)送順序被解析到字節(jié)水平。圖為一組字節(jié),
35、這些字節(jié)傳輸?shù)捻樞蚴鞘紫葟淖蟮接?,再?gòu)纳系较?,就好像讀英文。例如在圖2中,字節(jié)組以它編號(hào)順序進(jìn)行傳輸。圖2.NDEF字節(jié)順序每當(dāng)一個(gè)字節(jié)表示一個(gè)數(shù)值量,圖中最左邊的位是高位或最重要的位。對(duì)于NDEF定義的、表示一個(gè)數(shù)值量的每個(gè)多字節(jié)字段,整個(gè)字段的最左邊的位是最重要的位。這樣的量是以大端方式傳輸,最重要的字節(jié)先傳輸。3.2 記錄布局NDEF 記錄是可變長(zhǎng)度的記錄,通用格式如下圖中所示。 在以下章節(jié)中詳細(xì)地描述各個(gè)記錄的字段。圖3.NDEF記錄布局3.2.1 MB(消息起始)MB 標(biāo)志的1比特字段被設(shè)置表明NDE F 消息開(kāi)始。3.2.2 ME(消息結(jié)束)ME 標(biāo)志的1比特字段被設(shè)置表明NDEF
36、 消息結(jié)束。3.2.3 CF(塊標(biāo)志)CF 標(biāo)志的1比特字段表明這是分塊有效負(fù)荷的第一個(gè)記錄塊或中間記錄塊(見(jiàn)2.3.3節(jié)關(guān)于如何編碼分塊有效負(fù)荷的描述)。3.2.4 SR(短記錄)SR 標(biāo)志只有1比特字段,如果置位,表明PAYLOAD_LENGTH 字段是一個(gè)單一字節(jié),這個(gè)簡(jiǎn)短的記錄布局的目的是為緊湊封裝那些PAYLOAD 字段大小為0至255個(gè)字節(jié)不等的小型有效載荷。圖4.NDEF 短記錄布局(SR=1)雖然實(shí)施者傾向于針對(duì)特定應(yīng)用,選擇一個(gè)或另一個(gè)記錄布局,但NDEF 解析器必須接受正常和短記錄兩種布局。NDEF 產(chǎn)生器可能會(huì)生成它們認(rèn)為合適的記錄布局。一個(gè)單一的 NDEF 消息可能包含
37、正常和短記錄。 3.2.5 IL(ID_LENGTH 字段) 所述IL 標(biāo)志是一個(gè)1比特字段,如果置位,表明該ID_LENGTH 字段是作為一個(gè)單字節(jié)放在記錄頭部。如果IL 標(biāo)志是0,ID_LENGTH 字段是從記錄頭省略,ID 字段被從記錄也被刪去。3.2.6 TNF(類(lèi)型名稱(chēng)格式)TNF 字段值表明表示TYPE 字段值的結(jié)構(gòu)(請(qǐng)參見(jiàn)2.4.2節(jié)TYPE 字段描述和第4節(jié)TYPE 字段相關(guān)的國(guó)際化問(wèn)題的說(shuō)明)。TNF 是3比特字段,值的定義如下表所示:表1.TNF字段值類(lèi)型名稱(chēng)格式 值空 0x00NFC 論壇 知名類(lèi)型 NFC RTD 0x01 RFC 2046定義的媒體類(lèi)型 RFC 204
38、6 0x02RFC 2986定義的絕對(duì)URI RFC 3986 0x03NFC 論壇外部類(lèi)型 NFC RTD 0x04未知 0x05不變(見(jiàn)2.3.3節(jié))0x06保留0x070x00值(空)表示不存在與該記錄相關(guān)的類(lèi)型或有效載荷。在使用時(shí), TYPE_LENGTH 、 ID_LENGTH 和 PAYLOAD_LENGTH 字段必須為零和類(lèi)型,ID 和 PAYLOAD 字段從記錄省略。該TNF 值可以用于一個(gè)空記錄是必要的情況。例如,NDEF 消息結(jié)束的情況下,沒(méi)有由用戶應(yīng)用程序定義的有效載荷。值0x01 ( NFC 論壇知名類(lèi)型)表示TYPE 字段包含的值遵循NFC 論壇的RTD 規(guī)范 NFC
39、 RTD 中 定義的 RTD 類(lèi)型名稱(chēng)格式。值0x02 (媒體類(lèi)型)表示TYPE 字段包含一個(gè)值,遵循RFC 2046 RFC 2046 中定義的媒體類(lèi)型的BNF 構(gòu)造。值0x03 (絕對(duì)URI)表示該類(lèi)型字段包含一個(gè)值,該值遵循RFC 3986 RFC 3986 中定義的絕對(duì) URI 的BNF 結(jié)構(gòu)。值0x04( NFC 論壇外部類(lèi)型)表示TYPE 字段包含一個(gè)值,遵循 NFC RTD 外部類(lèi)型名稱(chēng)定義的類(lèi)型名稱(chēng)格式。值0X05 (未知)被用來(lái)指示未知類(lèi)型的有效負(fù)載。這類(lèi)似于通過(guò)MIME RFC 定義的“應(yīng)用程序/ 字節(jié)流”媒體類(lèi)型 2046 。使用時(shí), TYPE_LENGTH 字段必須為零
40、,因此, TYPE 字段在 NDEF 記錄中被省略。關(guān)于執(zhí)行,建議NDEF 語(yǔ)法分析器接收到該類(lèi)型的一個(gè)NDEF 記錄,并且沒(méi)有更多關(guān)于使用的上下文,提供一種只存儲(chǔ)但不處理有效負(fù)荷的機(jī)制(參見(jiàn)4.2節(jié)) 。0x06值(不變)必須在分塊有效載荷的所有中間記錄塊和終止記錄塊中使用(見(jiàn)2.3.3節(jié)) 。它不能用于其他記錄。使用時(shí), TYPE_LENGTH 字段必須為零,因此, TYPE 字段在NDEF 記錄被省略。TNF 沒(méi)有默認(rèn)值,未來(lái)用途的保留(或未分配)字段值禁止使用。獲取含有未知或不受支持的TNF 字段值的NDEF 記錄,NDEF 解析器視為0x05(未知)。3.2.7 TYPE_LENGT
41、H該TYPE_LENGTH 字段是一個(gè)無(wú)符號(hào)8比特整數(shù),它指定TYPE 字段的字節(jié)長(zhǎng)度。該TYPE_LENGTH 字段對(duì)某些TNF 值總是為零(見(jiàn)3.2.6節(jié)) 。3.2.8 ID_LENGTH該ID_LENGTH 字段是一個(gè)無(wú)符號(hào)8比特整數(shù),指定ID 字段的字節(jié)長(zhǎng)度。這個(gè)字段只有在記錄頭中IL 標(biāo)志被設(shè)置為1時(shí)存在。允許0字節(jié) ID_LENGTH ,在這種情況下, ID 字段在NDEF 記錄省略。3.2.9 PAYLOAD_LENGTH該P(yáng)AYLOAD_LENGTH 字段是一個(gè)無(wú)符號(hào)整數(shù),它指定PAYLOAD(應(yīng)用程序有效載荷)字段的字節(jié)長(zhǎng)度。該P(yáng)AYLOAD_LENGTH 字段的大小是由S
42、R 標(biāo)志的值確定(見(jiàn)3.2.4節(jié)) 。 如果SR 標(biāo)志被設(shè)置, PAYLOAD_LENGTH 字段是表示一個(gè)8比特?zé)o符號(hào)整數(shù)的單字節(jié)。如果SR 標(biāo)志被清除, PAYLOAD_LENGTH 字段占4個(gè)字節(jié),表示一個(gè)32比特?zé)o符號(hào)整數(shù)。字節(jié)的傳輸順序是MSB 優(yōu)先(參見(jiàn)3.1節(jié)) 。0字節(jié)長(zhǎng)度的有效載荷長(zhǎng)度允許的,在這種情況下,有效載荷字段在NDEF 記錄中被省略。超過(guò)232 -1個(gè)字節(jié)大小的應(yīng)用程序有效載荷可以被分塊有效載荷容納(參見(jiàn)2.3.3節(jié)) 。3.2.10 TYPETYPE 字段的值是描述有效負(fù)載類(lèi)型(參見(jiàn)2.4.2節(jié))的標(biāo)識(shí)符。TYPE 字段的值必須遵循TNF 字段值代表的結(jié)構(gòu)、編碼和
43、格式(見(jiàn)3.2.6節(jié)) 。一個(gè)NDEF 語(yǔ)法分析器接收了一個(gè)包含它支持被未知的TNF 字段值的NDEF 記錄,如果TNF字段值是0X05 (未知),TYPE 字段應(yīng)該解釋該記錄的類(lèi)型標(biāo)識(shí)符,。我們強(qiáng)烈建議該類(lèi)型標(biāo)識(shí)符是全球唯一的,并總是保持穩(wěn)定和明確的語(yǔ)義。3.2.11 IDID 字段的值是一個(gè)URI 引用RFC 3986 形式的標(biāo)識(shí)符(見(jiàn)第2.4.3和4.4節(jié) ) 。消息標(biāo)識(shí)符的唯一性需要由發(fā)生器保證。URI 引用可以是相對(duì)或絕對(duì)的; NDEF 沒(méi)有定義基本URI 意味著使用相對(duì)URI 的用戶應(yīng)用程序必須提供一個(gè)實(shí)際或虛擬基礎(chǔ)URI(參見(jiàn) RFC 3986 ) 。中間和終止記錄塊(即不包含分
44、塊有效負(fù)荷初始記錄塊的其他記錄,見(jiàn)2.3.3節(jié))不能有ID 字段。所有其他記錄可以有一個(gè)ID 字段。3.2.12 PAYLOADPAYLOAD 字段攜帶用于NDEF 應(yīng)用程序的有效負(fù)荷。任何內(nèi)部有效載荷字段中攜帶的數(shù)據(jù)結(jié)構(gòu)對(duì)NDEF 都是不透明的。3.3 NDEF機(jī)制測(cè)試要求本節(jié)確認(rèn)在第3章中定義的NDEF 機(jī)制的可測(cè)試的需求。 本節(jié)和下表的目的是指導(dǎo)一致性測(cè)試過(guò)程,并不能取代在本章的其他部分提出的規(guī)范性要求。 測(cè)試要求2.NDEF規(guī)范測(cè)試要求數(shù)據(jù)傳輸順序要求大量數(shù)據(jù)時(shí)以大端方式傳送,最重要的字節(jié)先傳。記錄布局要求NDEF解析器必須接收正常記錄和短記錄兩種布局。NDEF 解析器必須接受正常布局和短記錄布局兩種方式組成的NDEF消息。如果IL 標(biāo)志是1,ID_LENGTH 字段必須存在。如果IL 標(biāo)志是0,ID_LENGTH 字段禁止存在。如果IL 標(biāo)志是0,ID 字段禁止存在。TNF字段的值必須在0x00到0x06之間。如果TNF 值為0x00,那么TYPE_IENGTH,ID_
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 茶葉加工合同樣本
- 銷(xiāo)售合同變更協(xié)議的法律責(zé)任
- 鋼琴租用合同模板
- 電動(dòng)伸縮門(mén)購(gòu)買(mǎi)合同樣本
- 建筑幕墻玻璃分包協(xié)議
- 誠(chéng)信設(shè)備維保服務(wù)合同
- 房屋買(mǎi)賣(mài)中介權(quán)益協(xié)議
- 個(gè)性化辦公用品采購(gòu)合同
- 企業(yè)合同履行堅(jiān)定保證書(shū)
- 物料采購(gòu)合同文本
- 2024-2030年中國(guó)漫畫(huà)行業(yè)發(fā)展趨勢(shì)與投資戰(zhàn)略研究研究報(bào)告
- 儺戲面具制作課程設(shè)計(jì)
- 2024年大學(xué)生安全知識(shí)競(jìng)賽題庫(kù)及答案(共190題)
- 2024中國(guó)華電集團(tuán)限公司校招+社招高頻難、易錯(cuò)點(diǎn)練習(xí)500題附帶答案詳解
- 吊裝作業(yè)施工方案
- 智能工廠梯度培育行動(dòng)實(shí)施方案
- 23J916-1 住宅排氣道(一)
- AD域控規(guī)劃方案
- 病例報(bào)告表(CRF)模板
- 院前急救護(hù)士理論考核參考題及答案
- 四年級(jí)數(shù)學(xué)上冊(cè)期末復(fù)習(xí)試卷計(jì)算題訓(xùn)練50題和答案解析
評(píng)論
0/150
提交評(píng)論