Можно использовать в качестве delimiter не char?
Есть несколько вариантов
1. Использовать в качестве разделителя несколько символов( например, "!HTML SHALL NOT PASS!" )
2. Перекодировать содержимое data так, чтобы в нём не встречался ";" ( например, записать data в hex формате )
3. Передавать несколько строчек
При записи данных в строку пробегитесь по символам каждого data. Замените все не-разделительные ';' на '; '. В качестве разделителя возьмите ';;'.
Для разбиения полученной строки на куски читайте посимвольно; при чтении ';' ищите информацию о том, разделитель ли это, в следующем символе.