CSV выполнит ваши желания раньше, чем решение на основе XML. Очень легко разобрать, от одной до двух десятков строк кода. Затем вы добавляете, что означают термины / поля, которые вам понадобятся для любого решения. Затраты CSV очень незначительны: некоторые запятые и кавычки по сравнению с XML-решением, в котором вы часто найдете больше тегов и синтаксиса XML, чем реальное мясо / данные, десятки или сотни байтов часто записываются для 8- или 32-битных значений. Предоставленный CSV также имеет накладные расходы, если вы думаете, что требуется три символа (байта) для представления одного 8-битного значения (шестнадцатеричная запятая с шестнадцатеричной запятой) по сравнению с двоичным. Несжатое XML-решение с его объемами будет потреблять значительно большую пропускную способность и объем хранилища поверх громоздких библиотек, используемых для создания, анализа и, возможно, сжатия / распаковки. CSV будет легче читать, чем двоичный файл, и, конечно, часто будет проще, чем XML, поскольку XML очень многословен, и вы не можете видеть все связанные данные на одном экране одновременно. У каждого есть доступ к хорошему инструменту для работы с электронными таблицами, gnumeric, openoffice, ms office, что делает CSV намного проще для чтения / использования, графический интерфейс уже есть.
Хотя нет общего ответа, вам нужно сделать системную инженерию по этому вопросу. Возможно, вы захотите использовать JSON / XML на стороне хоста или большого компьютера и конвертировать в какой-то другой формат, например двоичный, для передачи, а затем на встроенной стороне, возможно, вам вообще не нужен ASCII и не нужно тратить энергию на возьмите двоичные данные и просто используйте их. Я также не знаю вашего определения встроенного, я полагаю, поскольку вы говорите о форматах ascii, это не микроконтроллер с ограниченными ресурсами, а, вероятно, встроенный linux или другая операционная система. С точки зрения системной инженерии, что именно требуется встроенной системе и в какой форме? На один уровень выше того, какие ресурсы у вас есть, и, как следствие, в какой форме вы хотите хранить эти данные во встроенной системе, хочет ли встроенная система просто брать предварительно отформатированный двоичный файл и просто передавать байты прямо на любое периферийное устройство, которое данные были предназначены для? в этом случае встроенный драйвер может быть очень тупым / простым / надежным, и основная часть работы и отладки выполняется на стороне хоста, где имеется много ресурсов и ресурсов для форматирования данных. Я бы стремился к минимальному форматированию и накладным расходам, если бы вам пришлось включить библиотеку для ее анализа, я бы, вероятно, не использовал ее. но я часто работаю со встроенными системами с ограниченными ресурсами без операционной системы.