Это тот случай, когда у вас есть решение проблемы, прежде чем вы зададите вопрос, даже если решение является плохой идеей.В блоге Рэймонда Чена , есть блог Эрика Липперта или, возможно, и то и другое, но я не смог найти его (них).
В последние 20 лет необходимость заботиться о 7-битных символах была в основном прекращена.И идея пытаться сэкономить дисковое пространство с помощью их использования является явно нелепой.
Единственный способ, которым это сработало бы, был бы, если бы вы перекрывали символы так, чтобы вы эффективно объединили 8 символов в 7 байтов.Я могу почти гарантировать, не глядя, что это не то, что делает Read7BitEncodedInt
.
(На самом деле, я понятия не имею, что он делает, но, к счастью, мне все равно)
Если вынужно работать с большими файлами, использовать какое-то сжатие.Zip, GZip, 7-Zip, что угодно.
РЕДАКТИРОВАТЬ: Поскольку вы на самом деле не спрашивает о строках, то это может быть полезно.YMMV, однако.Найдите функции ReadVLI
и WriteVLI
.
http://gilgamesh.hamsterrepublic.com/websvn/filedetails.php?repname=ohrrpgce&path=%2Fwip%2Freload.bas&rev=3568&peg=4164