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()); }
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(); }
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); }