?@concept:NDEF NFC Form論壇定義的NFC數據交換通用數據格式。
如上所示:一條NDEF消息由諸多Record記錄組成,Record又由Header和Payload組成,Header定義了Payload的ID 長度與ID,攜帶數據的格式與格式長度,攜帶的數據的字節數。
Header的具體結構如下圖:
android解析epub文件。
?
第一個字節是狀態字節(1byte=8bit),用于指定Record有無ID,該Record是首記錄還是尾記錄,是長記錄還是短記錄,以及關鍵的Record的類型。
Record的類型可以有一下8種,Type指定的是載荷Payload的類型。
安卓解析、
常見的Payload類型有:Text、URI、MIME類型,TNF_WELL_KNOWN類型的Record類型,有以下幾種Payload類型。
本文重點關注RTD_TEXT類型的解析,Payload類型為RTD_TEXT的Payload結構如下。
android解析ttf文件,第一個字節(1byte)是狀態標志位,位定如下:
這個狀態字節0-5位定義了語言碼的長度,最高位MSB定義文本的編碼格式。注意語言碼和文本編碼是兩個概念,前面定義了語言碼長度,緊接著Payload第二個字節開始就定義了對應長度的語言碼字節。語言碼之后的字節就是文本的字節(實際的內容),文本的編碼方式就是MSB位定義的編碼格式。
相關解析代碼如下所示:0200是八級制對應十六進制0x80,最后解析出來的字符串放在payloadStr字符變量中。
大致流程為:取Record狀態字節,根據文本編碼方式以及語言碼長度取出語言碼,根據文本的編碼方式將文本內容對應的字節按照相應編碼格式轉換為字符串。
深入解析android虛擬機。
?