CDCC8 Ответов: 1

Распаковка, декодирование и отображение ЭКГ-сигнала (Base64)


Всем привет,

Я пытаюсь представить ЭКГ-сигнал, содержащийся в Xml-файле. Интересно, как лучше всего это сделать?
Похоже, что сигнал всех каналов кодируется в base64, поэтому я должен декодировать его в читаемые значения, чтобы представить график.

Вот фрагмент Xml сигнала:

КАНАЛ
Смещение="0"
Бит="16"
ФОРМАТ="ПОДПИСАНО"
UNITS_PER_MV="400"
Продолжительность="10000"
SAMPLE_FREQ="1000"
Имя="aVR"
КОДИРОВКА="BASE64"
Данные="6В/м/+н/6Ф/п/+п/6В/с/+з/6//р/+в/6//р/+з/7В/П/+7/7В/П/+7/7В/у
/+//7//Ж//Ч/8ф/х//Д/8П/ш//Д/7//В//Д/8Р/в/+//8Р/Х//Х/8ф/Х//Х/
8П/х/+7/7В/у/+7/7//в/+//7р/п/+п/6Ф/м/+з/7Ф/в/+//7//ЕД/+7/7Ф/Р
/+v/6//r/+r/6v/r/+r/6f/p/+r/6v/q/+r/6//p/+f/5v/k/+T/5f/l/+X/
5Ф/л/+т/5р/к/+Т/5Ф/К/+Л/4Ф/я/+ч/4В/ч/+л/4Ф/я/+ч/4В/к/+Т/5П/к
/+Т/4//К/+Б/5Ф/я/+ч/4Р/Ф/97/3//Г/+Д/4Ф/т/+т/4В/Дж/+х/5р/к/+Т/
5р/Дж/+Л/4//К/+т/5р/Л/+Х/5Ф/л/+б/6Ф/Л/+Ф/5В/л/+в/5В/м/+б/5//н
/+f/5v/o/+X/5//l/+T/4v/i/+L/5f/p/+r/7P/s/+7/7f/u/+3/6//p/+b/
5//n/+j/6f/n/+f/6f/p/+v/6v/o/+b/6f/n/+n/6f/p/+v/6f/q/+v/7P/r
/+в/7в/в/+7/7//u/+7/7//v/+7/7v/t/+v/6//q/+z/7P/s/+7/7v/v/+v/
6В/с/+з/7В/х/+7/7В/т/+з/7Ф/в//Н/7В/П/+7/7Ф/х/+7/7в/в/+з/7Ф/Р
/+3/6//s/+v/7//u/+3/7v/r/+z/6//r/+z/7v/v/+//7f/u/+7/7//Т/+7/
7v/u/+7/7v/t/+7/7//x//H/8//x//D/7v/w/+7/7v/s/+7/7v/u/+3/7v/t
/+z/7P/s/+//7v/u/+7/7v/w//D/7//t/+7/7//v//H/8P/v/+//7//v/+3/
7//x//H/8P/x//H/8/ / y//H/8f/w/+7/7v/v/ / D/8P/w//H/8P/w//H/8//z
//D/7/ / x//D/8f/w/ / H/8f/v//H/8v/0//D/8P/y//P/8f/z/ / H/8P/x//D/
7//v/+//7//z//T/8f/x//P/8f/x//H/8//x//H/8f/u/+z/7P/w/+//9P/z
//X/9f/z//H/7//w/+/ / 8f/x//P/8//x//H/9P/0/ / P/9f/0/ / T/9f/2//T/
8//y//H/8f/x//L/8P/w/+/ / 8f/x//H/8f/y//P/8//z//H/8P/t/+v/6//p
/+Н/6Ф/Н/+Р/5//н/+J на/5//л/+х/5В/л/+т/5Ф/л/+т/4Ф/Г/+Д/3//г/+сек/
3//ф/97/3Ф/д/9//3В/д/9z/1//т/9л/0р/Р/9Н/0С/о/87/0р/Р/9Д/0П/П
/87/0В/с/9Д/0П/с/9Н/1р/в/9В/1//в/9Р/1П/Т/9б/1//Б/9//3Ф/Ф/9//
4П/ф/+д/4Р/Ф/9//4Ф/я/+Л/5Ф/п/+Дж/6Ф/р/+з/7в/в//Д/8Р/х//П/9П/1
//Х/9ф/З//Б/+П/6//Дж/+Ф/3//мл/+Ф/5//Дж/9В/з//п/9//2//б/9В/2//х/
9В/4//н/9В/4//Дж/9В/З//Р/9П/з//б/+р/5//З////+//3/+Ф/2//б/9Р/в
/+в/5р/д/9ф/зв/ч/7z архивов/ТФ+п/6л/МФ+с/4z ящика/gP92/2В/ZP9V/0В/Н/8 н/вр/
Ev8X/yL/Mf9G/17/dP+I/6H/w//i//f/AQAJAAwAEwAVABoAHwAlACkALwA2
Adyanaa2adganwa2adqamwayac8akwapacuaiaaeaabsahaayabuaeqaraawa
CAABAP7/+Ф/1//т/9В/2//х/9ф/2//х/9В/1//ф/+ф/5//н/+ф/5//Р/+Ф/4
...

Пожалуйста, помогите мне, Поздравляю

1 Ответов

Рейтинг:
1

Luc Pattyn

Надеясь, что ваши данные являются реальным XML (включая множество символов < и >, которые не были видны в вашем вопросе), вы должны посмотреть на стандартную десериализацию.

Этот сайт содержит хорошие статьи и имеет средство поиска; что дало бы такие вещи, как это: Сериализация и десериализация XML: Часть 1[^] и Сериализация и десериализация XML: Часть 2[^]

Если этого недостаточно, взгляните на официальную документацию, начиная с этой страницы: Введение в сериализацию XML | Microsoft Docs[^] , и не пропускайте Как десериализовать объект | Microsoft Docs[^] .


Если это не настоящий XML, вам, вероятно, придется погрузиться в данные самостоятельно; чтобы декодировать строку Base64, взгляните на Преобразование Класса (Системы) | Microsoft Docs[^] который имеет пару методов FromBase64...

:)