コード例 #1
0
ファイル: ExtHeader.cs プロジェクト: elp87/TagReader
        private int GetSize(byte[] byteArray, int pointPosition)
        {
            byte[] extHeaderSizeArray = new byte[4];
            Array.Copy(byteArray, pointPosition, extHeaderSizeArray, 0, 4);
            SynchsafeInteger ssSize = new SynchsafeInteger(extHeaderSizeArray);

            return(ssSize.ToInt());
        }
コード例 #2
0
ファイル: Header.cs プロジェクト: elp87/TagReader
        private void ParseHeader()
        {
            _tagVersion = Convert.ToInt32(_header[3]);
            if (_tagVersion > 4 || _tagVersion < 3)
            {
                throw new Exceptions.UnsupportedTagVersionException("Unsupported Tag Version", "Tag version is " + _tagVersion, DateTime.Now);
            }
            _tagRevVersion = Convert.ToInt32(_header[4]);
            _flagByte      = _header[5];
            _flagField     = new FlagField(_flagByte);
            SynchsafeInteger ssTagSize = new SynchsafeInteger(new byte[4] {
                _header[6], _header[7], _header[8], _header[9]
            });

            _tagSize = ssTagSize.ToInt();
        }
コード例 #3
0
        internal int GetExtraData(byte[] tagArray, int position)
        {
            int offset = 0;

            if (this.GroupingIdentity)
            {
                this._grouping = tagArray[position + offset];
                offset++;
            }
            if (this.Encryption)
            {
                this._encryptMethod = tagArray[position + offset];
                offset++;
            }
            if (this.DataLengthIndicator)
            {
                byte[] lengthByte = new byte[4];
                Array.Copy(tagArray, position + offset, lengthByte, 0, 4);
                SynchsafeInteger ssLength = new SynchsafeInteger(lengthByte);
                this._dataLength = ssLength.ToInt();
                offset          += 4;
            }
            return(offset);
        }