#csv #validation #specifications #data-processing #rfc4180
Вопрос:
Спецификация CSV (RFC 4180) определяет header
и charset
параметры, но, как ни странно, не указывает, куда они идут и как они кодируются. Ибо header
в нем говорится:
Параметр «заголовок» указывает на наличие или отсутствие строки заголовка. Допустимыми значениями являются «присутствует» или «отсутствует».
Но куда это помещается в CSV-файле или потоке? И куда же charset
он девается?
См. раздел 3 спецификации для бита параметров. Весь документ состоит всего из нескольких страниц фактического содержимого, как и следовало ожидать для спецификации CSV, но в нем отсутствуют важные детали. Обратите внимание, что я спрашиваю не о сценарии взаимодействия веб-сервера с браузером, в котором были бы поля заголовка HTTP для типа MIME или кодировки, а скорее об общем случае файлов и потоков CSV.
Ответ №1:
Подтверждение того, что в файле данных CSV действительно нет места для размещения этих полей метаданных в виде файла или потока.
Эти два поля, как вы упомянули, предназначены только для случаев, когда обмен CSV — файлом осуществляется с помощью протокола, поддерживающего MIME, такого как HTTP.
Другие форматы нашли различные способы решения этой проблемы. Например, JSON должен быть закодирован с использованием UTF-8. XML имеет кодировку в прологе.