Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.12.30;
Скачать: [xml.tar.bz2];

Вниз

Каким образом однозначно преобразовать 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.009 c
1-99532
Maxim Vetera
2003-12-15 19:24
2003.12.30
Заплутал в разделе Const :(


11-99508
it
2003-04-16 11:28
2003.12.30
ListBox и Selected


3-99464
Babenko Oleg
2003-12-05 11:03
2003.12.30
dBASE RUS cp866 в TDbf V6.3.0


14-99788
ИдиотЪ
2003-12-05 08:55
2003.12.30
резонанс


6-99663
killer
2003-11-01 21:18
2003.12.30
Компонент: изменилось ли содержание WWW-странички?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский