Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 VarBinary  [new]
_Volodya_
Member

Откуда:
Сообщений: 12
Как получить текст из VarBinary поля?
9 янв 04, 15:17    [485783]     Ответить | Цитировать Сообщить модератору
 Re: VarBinary  [new]
PA
Member

Откуда: Санкт-Петербург
Сообщений: 4146
Cast не катит?
9 янв 04, 15:27    [485813]     Ответить | Цитировать Сообщить модератору
 Re: VarBinary  [new]
GreenSunrise
Member

Откуда:
Сообщений: 12310
Зачем в varbinary текст хранить? BOL: Binary data consists of hexadecimal numbers. Для работы с текстом используйте varchar, nvarchar, text, ntext.
9 янв 04, 15:30    [485821]     Ответить | Цитировать Сообщить модератору
 Re: VarBinary  [new]
Berg
Member

Откуда: Кр-ск
Сообщений: 3480
2GreenSunrise:
Фиг его знает зачем, но когда мне досталось разбираться с чужой базой, то там оказалось два поля Image, одно из которых CAST'овалось к тексту. Какие-то орлы положили туда ASCII-коды вперемешку с данными к нему относящимися (типа как название и его атрибут). Может ускорилось чего-нить...А может зашифровать хотели
9 янв 04, 15:35    [485829]     Ответить | Цитировать Сообщить модератору
 Re: VarBinary  [new]
GreenSunrise
Member

Откуда:
Сообщений: 12310
2_Volodya_:
CAST преобразует varbinary в varchar, интерпретируя байты как ascii коды символов, например:
select cast(0x616263 as varchar)

------------------------------

abc


Если вас это устраивает, ну и пользуйтесь себе CAST'ом. Не забывайте, что нулевое значение посреди вашего varbinary будет интерпретировано как конец строки, т.е.
select cast(0x61626300646566 as varchar)

даст опять-таки
------------------------------ 


abc


2Berg: в описанном вами случае уже никакие бы CAST'ы не помогли, потому что надо знать внутреннюю структуру данных поля.

2_Volodya_: если вы спрашиваете, как число 0x616263 представить в виде строки "0x616263", то это совсем другое. В этом случае посмотрите на fn_varbintohexstr
9 янв 04, 15:57    [485876]     Ответить | Цитировать Сообщить модератору
 Re: VarBinary  [new]
_Volodya_
Member

Откуда:
Сообщений: 12
У меня в том поле текст на русском языке, когда преобразовую с помощью cast получаются иероглифы, в чем проблема?
9 янв 04, 16:48    [485958]     Ответить | Цитировать Сообщить модератору
 Re: VarBinary  [new]
Berg
Member

Откуда: Кр-ск
Сообщений: 3480
2GreenSunrise:
Ну, вот я и разгадывал сидел внутр. структуру... Потратил недельку, благо, что все оказалось не так сложно... Я сначала не знал, что там текст, но посте CAST это стало понятно.

2_Volodya_:
Вам же GreenSunrise написал, что НЕ НАДО писать текст туда, куда его не надо писать. Зачем вы хотите писать текст в поле двоичных данных? Вот из-за таких как вы приходится потом его оттуда выколупывать, предварительно отгадав, что там текст...
9 янв 04, 16:53    [485971]     Ответить | Цитировать Сообщить модератору
 Re: VarBinary  [new]
_Volodya_
Member

Откуда:
Сообщений: 12
2Berg
Дело в том что я не пишу туда, я пытаюсь получить!!!! уже до меня народ извратился!
Но я на 100% уверен что там текст
9 янв 04, 16:59    [485983]     Ответить | Цитировать Сообщить модератору
 Re: VarBinary  [new]
Glory
Member

Откуда:
Сообщений: 104760
????
select cast('лала' as varbinary(64)), cast(N'лала' as varbinary(64))

select cast(cast('лала' as varbinary(64)) as varchar(100)), cast(cast(N'лала' as varbinary(64)) as nvarchar(100))
9 янв 04, 17:01    [485986]     Ответить | Цитировать Сообщить модератору
 Re: VarBinary  [new]
Berg
Member

Откуда: Кр-ск
Сообщений: 3480
Посмотри какие там числа? Вписываются они в диапазон ASCII кодов или нет? Русских или латинских? А может там в UNICODE лежит?
9 янв 04, 17:02    [485988]     Ответить | Цитировать Сообщить модератору
 Re: VarBinary  [new]
_Volodya_
Member

Откуда:
Сообщений: 12
Возможно эти данные кодируются ... ну вот что здесь написано?
0xAF8936815C6F8A3EDFC4290177C0EB1182C7DB0CD4EF092BEB1B514F9089E8FC544C64C7979E2459A680EF
9 янв 04, 17:07    [485997]     Ответить | Цитировать Сообщить модератору
 Re: VarBinary  [new]
GreenSunrise
Member

Откуда:
Сообщений: 12310
_Volodya_, запостите пример данных, которые вам надо привести к читабельному виду, что-нибудь типа 0x616263. Мы тут посмотрим, вдруг и получится расковырять, что туда напихали до вас...
9 янв 04, 17:08    [485999]     Ответить | Цитировать Сообщить модератору
 Re: VarBinary  [new]
GreenSunrise
Member

Откуда:
Сообщений: 12310
Опередили :-)))
9 янв 04, 17:14    [486008]     Ответить | Цитировать Сообщить модератору
 Re: VarBinary  [new]
_Volodya_
Member

Откуда:
Сообщений: 12
2GreenSunrise
Ну что получается? Могу бросить что должно быть ...
9 янв 04, 17:17    [486014]     Ответить | Цитировать Сообщить модератору
 Re: VarBinary  [new]
_Volodya_
Member

Откуда:
Сообщений: 12
Может кто знает как узнать ключ шифрования, если у меня есть зашифрованный и расшифрованный текст?
9 янв 04, 17:53    [486066]     Ответить | Цитировать Сообщить модератору
 Re: VarBinary  [new]
Berg
Member

Откуда: Кр-ск
Сообщений: 3480
Если это "простой" ключ, то...Точнее смотря какой операцией с ключом получена результирующая последовательность... Попробуй что-нить простое типа xor и обычного сложения по mod. А вообще с расшифровками не в этот форум, а к злобным хакерам...
9 янв 04, 17:56    [486070]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить