Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.12.30;
Скачать: CL | DM;

Вниз

Каким образом однозначно преобразовать 16 байт в 28 символов ?   Найти похожие ветки 

 
GreySerg   (2003-12-16 19:25) [0]

Каким образом однозначно преобразовать 16 байт в 28 символов ?
Как например функция BinToHex преобразует 16 байт в 32 символа.
Подскажите, Мастера.


 
Тимохов ©   (2003-12-16 19:29) [1]

Блин, ну и вопрос ...
Вот что человек хотел узнать, вот бы понять..


 
GreySerg   (2003-12-16 19:35) [2]

объясняю:
функция BinToHex в результате преобразования 16 байт выдаст 32 байта (символа), где каждый байт будет зашифрован 2 символами в диапазоне 0..F, где каждый символ представляет собой 4 бита.

Мне же надо каким-то образом эти 16 байт завернуть в 28 байт .
Ещё не знаю как, но есть предположение кодировать символом 5 битов.


 
Sha ©   (2003-12-16 19:40) [3]

BASE64 endcode/decode
в 22 байта


 
panov ©   (2003-12-16 19:45) [4]

ТАк тебе похоже не байты, а латинские символы надо закодировать?


 
Anatoly Podgoretsky ©   (2003-12-16 19:47) [5]

GreySerg (16.12.03 19:35) [2]
Тоже можно - получится 26 символов


 
panov ©   (2003-12-16 19:58) [6]

Кстати, 16 байт в 28 кодируетсяф до ужаса просто.

1. 16-->32
2. 32-->28

В п.2 32 байта кодируются в 7-битную кодировку.
Всего получается 28 байт.


 
Anatoly Podgoretsky ©   (2003-12-16 20:06) [7]

Но по реализации, самое простое Base64


 
Sha ©   (2003-12-16 20:07) [8]

реализацию см. в IdCoder3To4.pas


 
GreySerg   (2003-12-17 15:32) [9]

в Base64 ипользуется 7-битная кодировка
а 7-битная кодировка не подойдёт, т.к. в 128 символов используемых для кодирования будет #0, #13 и #10, что нехорошо
так что придётся брать 5-битную кодировку , со своей таблицей


 
REA ©   (2003-12-17 15:44) [10]

А зачем, если не секрет? Т.е. наверно можно и в 5 бит засунуть и сжать и т.п. А зачем?


 
GreySerg   (2003-12-17 15:54) [11]

затем, что надо гененерить GUID , а затем эти 16 байт преобразовывать к символьному виду , но чтобы они умещались в 28 байт (символов), т.к. этот GUID будет использоваться для создания таблиц в Oracle , а в Oracle есть ограничение на длину имени таблицы - 30 символов (2 символа хочу использовать на префикс)


 
Amoeba ©   (2003-12-17 16:14) [12]

В текстовом представлении есть 4 дефиса, так удаляй (на уникальность это не влияет, т.к. их местоположение фиксированное) их, и будет тебе счастье.


 
Anatoly Podgoretsky ©   (2003-12-17 16:20) [13]

GreySerg (17.12.03 15:32) [9]
Не изобратай то чего нет, почему ты думаешь в названии 64?
А так тебе дали три решения в 22, 26 и 28 бит


 
Anatoly Podgoretsky ©   (2003-12-17 16:22) [14]

Пардон не бит, а символов (печатных, исключительно английских)


 
REA ©   (2003-12-17 16:23) [15]

Сдается мне, что из реляционной базы что-то не то делают. Гуид в название таблицы. Хм.


 
GreySerg   (2003-12-17 16:40) [16]

>Amoeba ©
я же объяснил, почему мне надо не 32 символа (что есть текстовое представление без 4 дефисов), а не больше 28
> Anatoly Podgoretsky ©
приведённые решения в 22 и 28 бит не годятся , так как используется 7-битовая кодировка из 128 ASCII символов , куда входят и символы #0,#13, #10 и т.д. (что мне не надо для генерации имени таблицы)


 
GreySerg   (2003-12-17 16:42) [17]

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


 
GreySerg   (2003-12-17 16:43) [18]

> Anatoly Podgoretsky ©
почему ты думаешь в названии 64?
не понял этого вопроса ?


 
Anatoly Podgoretsky ©   (2003-12-17 17:23) [19]

REA © (17.12.03 16:23) [15]
Нормальное решение, в MSSQL сделано на уровне СУБД

GreySerg (17.12.03 16:40) [16]
Ты бы все таки прежде разобрался с область знания


 
GreySerg   (2003-12-17 18:37) [20]

>Anatoly Podgoretsky ©
с областью знаний всё нормально



Страницы: 1 вся ветка

Текущий архив: 2003.12.30;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.012 c
4-99828
SkyRanger
2003-11-03 14:45
2003.12.30
Аналог StrTo... и ...ToStr на WinAPI


14-99769
Knight
2003-12-05 23:11
2003.12.30
Какой максимальный объём данных...


14-99739
Kucher
2003-12-09 11:38
2003.12.30
Посоветуйте хорошее интерфейсное решение


3-99437
AlexWebIn
2003-12-05 15:02
2003.12.30
Какие компоненты лучше ипользовать для создания отчётов?


1-99632
Gloomer
2003-12-16 12:26
2003.12.30
Отслеживание изменения файлов