Показать сообщение отдельно
  #11 (permalink)  
Старый 08.11.2010, 09:31
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Строки в файлах на диске тоже хранятся в виде байтов. Для этого и придумали кодировки. Вы сейчас, возможно сами того не ведая, придумали себе свою собственную кодировку. Если вам эти байты отдавать потом куда-то другим программам, то я бы лучше сделал перекодировку в UTF-8, её описание есть на той же википедии.

Я в подобной задаче использовал похожую на UTF кодировку, но чуть проще. Двоичное представление числа делится на отрезки по 7 бит, начиная справа. Каждый отрезок становится байтом. Далее каждому байту старший разряд устанавливается в 1, кроме последнего, у которого будет 0.
При раскодировке смотрим первый бит очередного байта, если он равен 1, то число ещё не кончилось, надо смотреть следующий байт. Когда все нужные байты собраны, отбрасываем у них старшие биты и собираем число.
Ответить с цитированием