示例#1
0
        private void ReadCompressionHeader(BinaryReader reader)
        {
            string signature = reader.ReadString(4);

            if (signature != DcpSignature)
            {
                throw new Exception("Signature was not DCP");
            }
            signature = reader.ReadString(4);
            if (signature != DeflateCompression.DeflateSignature)
            {
                throw new NotImplementedException($"Compression not implemented ({signature}) ");
            }

            Compression = DeflateCompression.Read(reader);

            signature = reader.ReadString(4);
            if (signature != DcaSignature)
            {
                throw new Exception("Signature was not DCA");
            }
            int dcaHeaderSize = reader.ReadInt32();

            if (dcaHeaderSize != DcaHeaderSize)
            {
                throw new Exception("Unsupported DCA header size.");
            }
        }
示例#2
0
        public static DeflateCompression Read(BinaryReader reader)
        {
            DeflateCompression result = new DeflateCompression();
            int headerSize            = reader.ReadInt32();

            result.Level = reader.ReadInt32();
            reader.Skip(16);
            return(result);
        }