private int ReadBlankRecords(int valueLength)
        {
            var lengthTotal = 0;

            if (valueLength <= 8)
            {
                return(8);
            }
            var skip = SpssMath.GetAllocatedSize(valueLength);

            lengthTotal += skip == 256 ? 252 : valueLength;
            skip        -= 8;
            _reader.BaseStream.Seek(skip * 4, SeekOrigin.Current);
            return(lengthTotal);
        }
Beispiel #2
0
        private void WriteString(string value, int valueLength)
        {
            var rawVariableLength = SpssMath.GetAllocatedSize(valueLength);
            var bytes             = _encoding.GetBytes(value.TrimEnd(), valueLength);
            var byteLength        = bytes.Length;

            WriteStringBytes(bytes);
            _writer.AddPadding();
            var writtenBytes = byteLength / 255 * 256 + (byteLength % 255 + 7) / 8 * 8;

            while (writtenBytes < rawVariableLength)
            {
                _writer.WriteCompressedCode(CompressedCode.SpaceCharsBlock);
                writtenBytes += 8;
            }
        }