none
Считывание из файла битовую информацию! Срочно помогите! Пожалуйста! RRS feed

  • Вопрос

  • Есть некоторый файл размером n. Мне нужно осуществить некое сжатие и записать его в новый файл. Вопрос такой: мне нужно считать весь файл как большая битовая строка и также обратно записать! Как это реализовать? Есть ли такой метод? Просто есть метод в FileStream ReadByte и WriteByte, но они только считываю 8 бит и записывают 8 бит, а мне надо разной размерности записывать так как я реализовываю алгоритм сжатия! помогите пожалуйста!
    • Перемещено Siddharth Chavan 1 октября 2010 г. 21:25 MSDN Forums Consolidation (От:Visual C#)
    2 июня 2010 г. 13:06

Ответы

  • В .NET не существует типа Bit, поэтому твои биты должны лежать в одном из существующих типов, аля byte, ushort, uint, ulong и т.д. для манипуляции с ними нужно применить битовые операции &, I, ^, >>, << и воспользоваться для манипуляций классом BitConverter, который позволяет преобразовывать массивы байтов в другие типы данных.

    • Помечено в качестве ответа I.Vorontsov 3 июня 2010 г. 5:52
    2 июня 2010 г. 13:33

Все ответы

  • У FileStream есть еще метод Read, котороый позволяет считывать произвольный массив байтов

    http://msdn.microsoft.com/ru-ru/library/system.io.filestream.read(v=VS.90).aspx

    2 июня 2010 г. 13:10
  • Это я знаю, спасибо за ответ, но мне нужно не произвольный массив БАЙТОВ, а именно БИТОВ! потому что когда буду записывать он запишет 8 байт, а мне может понадобиться 7бит записать=(

    2 июня 2010 г. 13:23
  • В .NET не существует типа Bit, поэтому твои биты должны лежать в одном из существующих типов, аля byte, ushort, uint, ulong и т.д. для манипуляции с ними нужно применить битовые операции &, I, ^, >>, << и воспользоваться для манипуляций классом BitConverter, который позволяет преобразовывать массивы байтов в другие типы данных.

    • Помечено в качестве ответа I.Vorontsov 3 июня 2010 г. 5:52
    2 июня 2010 г. 13:33