Гость
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Кодировка string to jpg / 18 сообщений из 18, страница 1 из 1
17.09.2015, 11:18
    #39053656
TD6370
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кодировка string to jpg
Из БД данные возвращаются в виде:
%FF%D8%FF%E0%00%10JFIF%00%01%02%01%00O%00O%00%00%FF%E1%0FdExif%00%00II%2A%00%08%00%00%00%0A%00%0F%01%02%00%0A....
Известно что это изображение в формата jpg.
Как можно эти данные преобразовать в тип BitmapSource, для вывода на форму? Заранее благодарен.
...
Рейтинг: 0 / 0
17.09.2015, 12:38
    #39053777
fortibransa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кодировка string to jpg
Типа этого?
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
            if (!(value is DBNull))
            {
                if (value != null)
                {
                    if (value is byte[])
                    {
                        MemoryStream ms = new MemoryStream(value as byte[]);
                        _img = Image.FromStream(ms);
                    }
                    pictureBox1.Image = _img;
                }
            }
...
Рейтинг: 0 / 0
17.09.2015, 13:31
    #39053850
TD6370
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кодировка string to jpg
fortibransa,
У меня данные в переменной типа string.
...
Рейтинг: 0 / 0
17.09.2015, 13:37
    #39053858
fortibransa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кодировка string to jpg
TD6370fortibransa,
У меня данные в переменной типа string.Все равно это массив байт, распарсивай
...
Рейтинг: 0 / 0
17.09.2015, 13:39
    #39053860
fortibransa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кодировка string to jpg
str.Split(new char[] {'%'}, StringSplitOptions.RemoveEntra..) не помню до конца
Потом конверти в байты.
...
Рейтинг: 0 / 0
17.09.2015, 13:51
    #39053876
Roman Mejtes
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кодировка string to jpg
fortibransa,

для этих целей есть base64 конвертер, не надо делать велосипед
...
Рейтинг: 0 / 0
17.09.2015, 13:51
    #39053878
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кодировка string to jpg
не выйдет, у ТС не binary, точнее не совсем binary.
у него вот это: URL escaped binary image data.
результат скорее всего от этого преобразования:
Код: c#
1.
uri_escape( $image_data );
...
Рейтинг: 0 / 0
17.09.2015, 14:08
    #39053900
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кодировка string to jpg
попробовать сначала через Uri.UnescapeDataString() получить стринговое предстваление HEX, а уже потом переводить в byte[]
...
Рейтинг: 0 / 0
18.09.2015, 13:40
    #39055058
ЕвгенийВ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кодировка string to jpg
TD6370,
Кто и как из туда запихал?
Это вообще черти что.
%FF%D8%FF%E0%00%10JFIF%00%
...
Рейтинг: 0 / 0
18.09.2015, 13:50
    #39055076
buser
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кодировка string to jpg
ЕвгенийВTD6370,
Кто и как из туда запихал?
Это вообще черти что.
%FF%D8%FF%E0%00%10JFIF%00%
+1... Автору узнать бы как это в базу писалось...
...
Рейтинг: 0 / 0
18.09.2015, 15:27
    #39055255
carrotik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кодировка string to jpg
... это заголовок фала JPEG в текстовом представлении (если открыть его, напр, в блокноте)

яШяа JFIF ,, яб fExif

.. соответственно, знак процента означает, что дальше идет байт ... идти по строке циклом с шагом 2 и преобразовывать символы в байтовый массив .. как-то так ... похожая процедура при парсинге QutedPrintable, только там символ "=" вместо процента ....
...
Рейтинг: 0 / 0
18.09.2015, 15:52
    #39055313
carrotik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кодировка string to jpg
.. или можно Regex-ом, как тут

Тынц

.. только, опять же, заменить в коде "=" на "%" в качестве разделителя ...
...
Рейтинг: 0 / 0
18.09.2015, 16:08
    #39055347
ЕвгенийВ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кодировка string to jpg
Да кстати, а каким макаром эти данные читаются из БД?
...
Рейтинг: 0 / 0
18.09.2015, 16:16
    #39055366
carrotik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кодировка string to jpg
ЕвгенийВДа кстати, а каким макаром эти данные читаются из БД?

..да скорее всего там просто поле типа text ... другой вопрос, как это кодируется ... если есть encoder, то должен быть и decoder ... это вариант QuotedPrintable, но только почему с процентами?
...
Рейтинг: 0 / 0
18.09.2015, 16:17
    #39055368
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кодировка string to jpg
carrotikЕвгенийВДа кстати, а каким макаром эти данные читаются из БД?

..да скорее всего там просто поле типа text ... другой вопрос, как это кодируется ... если есть encoder, то должен быть и decoder ... это вариант QuotedPrintable, но только почему с процентами?

выше я уже дал направление: Кодировка string to jpg
...
Рейтинг: 0 / 0
18.09.2015, 16:29
    #39055390
carrotik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кодировка string to jpg
Konst_One,

... у меня есть кусок кода парсинга QuotedPrintable, который писался еще на vb.net для почтового веб-клиента
имеется в виду, что RecvString = это входная строка .. если поменять стандартный разделитель на процент, то

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
                    Dim qbytes(RecvString.Length - 1) As Byte
                    For index As Integer = 0 To RecvString.Length - 1
                        If RecvString.Chars(index) = "%" Then
                            Dim strQbyte As String = String.Empty
                            For n As Integer = 1 To 2
                                strQbyte += RecvString.Chars(index + n)
                            Next
                            qbytes(index) = Convert.ToByte(Convert.ToInt32(strQbyte, 16))
                            index += 2
                        Else
                            qbytes(index) = Convert.ToByte(RecvString.Chars(index))
                        End If
                    Next
                    If qbytes.Length > 0 Then
                        Response.BinaryWrite(qbytes)
                    End If
...
Рейтинг: 0 / 0
18.09.2015, 16:31
    #39055394
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кодировка string to jpg
это немного не тот формат. у него из php ,скорее всего URL escaped binary image data. на C# декодируется через
Код: c#
1.
Uri.UnescapeDataString()
...
Рейтинг: 0 / 0
19.09.2015, 18:40
    #39056138
fortibransa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кодировка string to jpg
Roman Mejtesfortibransa,

для этих целей есть base64 конвертер, не надо делать велосипедЗамечательно, только вопрос, а он как конвертирует, я думаю именно так и это не изобретение велосипеда это и есть велосипед.

Далее народ предлагает черте шо, что мешает разбить на массив строк (если у ТС строка) и конвертнуть ее в массив байт, какие проблемы-то? Или Вы думаете, что какие-нибудь пупер парсеры, делают как-то по другому, ну хочешь читай строку по 3 символа и конверти сразу начиная со второго. символа. Только еще Regex тут не хватало.
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Кодировка string to jpg / 18 сообщений из 18, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]