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