Обычный способ справиться с этим называется escape-символом или квалификатором. Рассмотрим эту разделенную запятыми строку:
Name,City,State
John Doe, Jr.,Anytown,CA
Поскольку поле имени содержит запятую, оно, конечно, неправильно разделяется и т. Д.
Если вы заключаете каждое значение данных в классификаторы, парсер знает, когда игнорировать разделитель, как в этом примере:
Name,City,State
"John Doe, Jr.",Anytown,CA
Квалификаторы могут быть необязательными и использоваться только в тех полях данных, которые в них нуждаются. Многие реализации будут использовать квалификаторы в каждом поле, нужно это или нет.
Возможно, вы захотите реализовать нечто подобное для вашей кодировки данных.