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

start [/forum/topic.php?fid=53&msg=38523589&tid=1998902]: |
0ms |
get settings: |
5ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
181ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
29ms |
get tp. blocked users: |
1ms |
| others: | 189ms |
| total: | 427ms |

| 0 / 0 |
