
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
27.12.2013, 08:23:57
|
|||
|---|---|---|---|
конвертация текстовой строки в бинарный вид |
|||
|
#18+
Здравствуйте. Есть некоторый текст. Как его правильно перевести в бинарный вид средствами PostgreSQL? '73024122013204324'::text ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
27.12.2013, 09:04:14
|
|||
|---|---|---|---|
|
|||
конвертация текстовой строки в бинарный вид |
|||
|
#18+
alexpcЗдравствуйте. Есть некоторый текст. Как его правильно перевести в бинарный вид средствами PostgreSQL? '73024122013204324'::text hmhm а что есть "бинарный вид" в вашем понимании? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
27.12.2013, 10:09:02
|
|||
|---|---|---|---|
конвертация текстовой строки в бинарный вид |
|||
|
#18+
Строка из 0 и 1. В PostgreSQL есть специальный тип данных (bytea), который позволяет хранить данные неопределенной длины. Визуально такая строка представляется в виде трехциферной восьмиричной последовательности, типа '\\000'... В процессе обработки информации сформировалась некоторая форма из трех сотен строк (часть - 1 строку - я представил). Ну можно добавить еще разве что '\r'. Простой cast (txt as bytea) не катит. С помощью encode-decode? Есть ли какие-нибудь правила, по которым бинарная строка формируется (добавление нулевого байта и т.д.)? Если можно , опишите ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
27.12.2013, 10:32:17
|
|||
|---|---|---|---|
|
|||
конвертация текстовой строки в бинарный вид |
|||
|
#18+
alexpcСтрока из 0 и 1. В PostgreSQL есть специальный тип данных (bytea), который позволяет хранить данные неопределенной длины. Визуально такая строка представляется в виде трехциферной восьмиричной последовательности, типа '\\000'... В процессе обработки информации сформировалась некоторая форма из трех сотен строк (часть - 1 строку - я представил). Ну можно добавить еще разве что '\r'. Простой cast (txt as bytea) не катит. С помощью encode-decode? Есть ли какие-нибудь правила, по которым бинарная строка формируется (добавление нулевого байта и т.д.)? Если можно , опишите Это? (пример преобразования hex числа - строки, в битовое значение). Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
27.12.2013, 17:09:51
|
|||
|---|---|---|---|
конвертация текстовой строки в бинарный вид |
|||
|
#18+
Есть для цифровых значений: select (3::int8)::bit(16); 0000000000000011 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
10.01.2014, 18:01:19
|
|||
|---|---|---|---|
конвертация текстовой строки в бинарный вид |
|||
|
#18+
Спасибо всем. Пробую. Насколько понимаю, необходимо уметь в PostgreSQL представлять десятичные дроби в двоичной системе счисления. Стандартных функций по-видимому нет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
11.01.2014, 13:30:21
|
|||
|---|---|---|---|
конвертация текстовой строки в бинарный вид |
|||
|
#18+
и все же целое число представить можно, а вещественное? select (730::int)::bit(16) select(730.27::float) ???????? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
11.01.2014, 14:24:21
|
|||
|---|---|---|---|
|
|||
конвертация текстовой строки в бинарный вид |
|||
|
#18+
alexpcи все же целое число представить можно, а вещественное? select (730::int)::bit(16) select(730.27::float) ????????в бесконечную периодическую двоичную дробь? или с потерей точности до некоторого наперед заданного кол-ва знаков (бит)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
12.01.2014, 17:01:44
|
|||
|---|---|---|---|
конвертация текстовой строки в бинарный вид |
|||
|
#18+
В машинное представление - 8 байт. Я написал функцию сам, но мне кажется, что все гораздо проще - должен быть стандартный набор инструментов. Основные правила перевода: Самый старший бит - знак числа (0 - число положительное, 1 - отрицательное) 11 разрядов под порядок числа, остальное (52 разряда) под мантиссу. При этом целая часть переводится в двоичную систему самостоятельно (последовательное деление на 2), и дробная последовательнное умножение на 2. Затем число нормализуется. Смещение точки влево на 1 разряд есть прибавление к 1023 каждого разряда смещения. Полученное смещение (1023 + разряды) - есть 11-разрядное число порядка. далее последовательно записываются целая часть и оставшиеся разряды дробной. При этом откидывается старший разряд целой части - число нормализовано. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
12.01.2014, 17:25:58
|
|||
|---|---|---|---|
конвертация текстовой строки в бинарный вид |
|||
|
#18+
вообще, на удивление postgresql содержит очень бедный набор функций перевода. В документации написано, что bytea - является типом данных для работы с двоичной информацией. Однако это далеко не так. Простое преобразование к этому типу реально не переводит число к двоичному типу. Странно, но нет функций взаимного перевода типов bit и bytea. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
12.01.2014, 17:42:33
|
|||
|---|---|---|---|
конвертация текстовой строки в бинарный вид |
|||
|
#18+
ORA-12705, а как 16-ричный код получить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
12.01.2014, 23:24:00
|
|||
|---|---|---|---|
|
|||
конвертация текстовой строки в бинарный вид |
|||
|
#18+
alexpcВ машинное представление - 8 байт... Основные правила перевода...float8send, но эта функция не публичная. alexpcвообще, на удивление postgresql содержит очень бедный набор функций перевода...если понадобилась какая-то функиональность, а никому другому она не нужна, то это является сигналом о том, что выбран неправильный путь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.01.2014, 00:27:26
|
|||
|---|---|---|---|
конвертация текстовой строки в бинарный вид |
|||
|
#18+
LeXa NalBat, тех. Задание не писал. Но выполнять обязан. Функция (утилита), которую Вы назвали написана для PostgreSQL или выполняется на уровне ОС? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.01.2014, 10:37:49
|
|||
|---|---|---|---|
конвертация текстовой строки в бинарный вид |
|||
|
#18+
alexpc<> Функция (утилита), которую Вы назвали написана для PostgreSQL или выполняется на уровне ОС? Код: sql 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=53&mobile=1&tid=1998902]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
211ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
27ms |
get tp. blocked users: |
1ms |
| others: | 213ms |
| total: | 489ms |

| 0 / 0 |
