[devel] base2 <-> base62

Dmitry V. Levin ldv на altlinux.org
Ср Авг 4 22:05:13 UTC 2010


On Thu, Aug 05, 2010 at 01:38:12AM +0400, Alexey Tourbin wrote:
> On Thu, Aug 05, 2010 at 01:26:20AM +0400, Dmitry V. Levin wrote:
> > On Thu, Aug 05, 2010 at 01:18:18AM +0400, Alexey Tourbin wrote:
> > > Ломал голову несколько часов.  Кто знает тому пряник.
> > > 
> > > Есть слово в алфавите {0,1} - т.е. последовательность нулей и единиц.
> > > Хочется представить это слово в алфавите {0..9,a..z,A..Z} (base62)
> > > для экономии битов.
> > 
> > Почему 62, там ведь есть ещё пара разрешённых символов: '_' и '/'.
> > Итого 64, т.е. ровно 6 бит.
> 
> Это нужно для зависимостей, которые будут выглядеть как
> libfoo.so.1 = set:0123456789abcdefg...
> 
> После "set:" не хотелось бы ставить ничего, кроме букв и цифр.

Не надо создавать искусственные ограничения.  parseRCPOT() не требует
ограничиваться xisalnum() в "версии" зависимостей.

> Подчеркивание ещё пойдет, хотя два подчеркивания подряд или
> подчеркивание в начале или в конце уже будут плохо смотреться.

С одной стороны, смотреть на зависимости этого вида человеку всё равно
не имеет смысла.
С другой стороны, есть ещё некоторое количество символов, которые можно
использовать в качестве "версий" зависимостей, и которые, будучи
перечисленными подряд, визуально отличаются.


-- 
ldv
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : отсутствует
Тип     : application/pgp-signature
Размер  : 198 байтов
Описание: отсутствует
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20100805/b1e6e139/attachment.bin>


Подробная информация о списке рассылки Devel