Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > Преобразование двоичных данных из строки


Автор: Snik 13.1.2014, 15:27
Добрый день! 
В базе данных есть поле Foto с типом binary(50). Есть хмл-файл данных где картинка хранится как строка двоичных данных:
<Значение>FF D8 FF E0 00 10 4A 46 49 46 00 01 01 00 00 01 00 01 00 00 FF DB 00 84 00 09 06 06 10 10 10 14 0F 10 10 0F 10 0F 0F 0F 0F 15 10 16 10 10 10 0F 15 14 12 14 14 15 16 15 14 19 18 18 1D 26 1E 19 19 23 19 12 14 1F 2F 20 23 27 29 2C 2C 2C 17 1E 31 35 30 2A 35 26 2B 2C 29 01 09 0A 0A 0E 0C 0E 14 0F 0F 15 29 1C 1C 1C 2A 29 29 29 2A 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 2C 29 29 29 2C 29 29 29 29 2C 29 29 29 2C 29 29 29 29 29 29 29 FF C0 00 11 08 00 E2 00 DF 03 01 22 00 02 11 01 03 11 01 FF C4 00 1B 00 01 01 00 02 03 01 00 00 00 00 00 00 00 00 00 00 00 01 04 06 03 05 07 02 FF C4 00 3A 10 00 01 04 00 04 04 04 03 06 05 03 05 00 00 00 00 01 00 02 03 11 04 12 21 31 05 06 41 51 61 71 81 91 13 22 A1 32 52 72 B1 C1 F0 07 23 92 D1 E1 14 42...</Значение> 


вопрос как преобразовать это для записи картинки в базу ?

Код

XmlTextReader reader = new XmlTextReader(xmlFile);
        reader.WhitespaceHandling = WhitespaceHandling.None; // пропускаем пустые узлы
        while (reader.Read())
        {

 var val = reader.Value;
}


Автор: jonie 13.1.2014, 19:04
Код

  string str = "0B AD F0 0D";
        int l = (str.Length + 1)/3;
        byte[] res = new byte[l];
        for (int i = 0; i < l; ++i)
        {
            res[i] = Convert.ToByte(str.Substring(i*3, 2), 16);
        }

М?

Автор: Snik 14.1.2014, 08:36
Спасибо! то что надо!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)