/** 解析一个TLV,返回Value的字节数组,可以使用getTag()方法获取当前的TAG,没有数据可解析或解析错误时返回null */ public byte[] parseOneTlv() { try { // tag try { CommonUtils.readBytes(mDataStream, mTagData); } catch (Exception e) { // 获取tag失败,返回null clearTlv(); return null; } // length CommonUtils.readBytes(mDataStream, mLengthData); mLength = ByteArrayUtils.toInt(mLengthData); // value mValueData = new byte[mLength]; CommonUtils.readBytes(mDataStream, mValueData); } catch (IOException e) { // Should never happen clearTlv(); e.printStackTrace(); } return mValueData; }