Пример #1
0
        /// <summary>
        /// Reads the string list.
        /// </summary>
        /// <param name="ms"></param>
        /// <param name="owner"></param>
        /// <returns></returns>
        protected ObservableCollection <NdfStringReference> ReadStrings(Stream ms, NdfBinary owner)
        {
            var strings = new ObservableCollection <NdfStringReference>();

            NdfFooterEntry stringEntry = owner.Footer.Entries.Single(x => x.Name == "STRG");

            ms.Seek(stringEntry.Offset, SeekOrigin.Begin);

            int i      = 0;
            var buffer = new byte[4];

            while (ms.Position < stringEntry.Offset + stringEntry.Size)
            {
                var nstring = new NdfStringReference {
                    Id = i
                };

                ms.Read(buffer, 0, buffer.Length);
                int strLen = BitConverter.ToInt32(buffer, 0);

                var strBuffer = new byte[strLen];
                ms.Read(strBuffer, 0, strBuffer.Length);

                nstring.Value = Encoding.GetEncoding("ISO-8859-1").GetString(strBuffer);

                i++;
                strings.Add(nstring);
            }

            return(strings);
        }
Пример #2
0
 public NdfFileNameString(NdfStringReference value)
     : base(value)
 {
     Type = NdfType.TableStringFile;
 }
Пример #3
0
 public NdfFileNameString(NdfStringReference value) : base(value)
 {
     Type = NdfType.TableStringFile;
 }
Пример #4
0
 public NdfString(NdfStringReference value)
     : base(NdfType.TableString, value)
 {
 }
Пример #5
0
 public NdfString(NdfStringReference value, long offset)
     : base(NdfType.TableString, value, offset)
 {
 }
Пример #6
0
 public NdfString(NdfStringReference value)
     : base(NdfType.TableString, value)
 {
 }
Пример #7
0
 public NdfFileNameString(NdfStringReference value, long offset) : base(value, offset)
 {
     Type = NdfType.TableStringFile;
 }