Контекст.
Я пишу C для спецификации iCal (RFC 5545). Он указывает, что максимальная длина строки с разделителями составляет 75 октетов, не считая разделителя. Как принцип надежности, так и символьная модель W3C склоняют меня к канонизации входных строк, закодированных в UTF8, в форму NFC (см. Формы).
При чтении входных строк я хотел бы читать в статически выделенный буфер. Но представление строки в UTF8 может иметь длину более 75 октетов, даже если ее форма NFC меньше 75. Таким образом, этот буфер должен быть больше 75 октетов. У меня вопрос сколько.
Вопрос.
Какова максимальная длина в октетах строки UTF8, форма NFC которой составляет не более 75 октетов? (Бонусные баллы: чья форма NFC состоит не более чем из N октетов.)
Кроме того, является ли это гарантированным и постоянным или является неуказанным следствием текущего Unicode и может быть изменено?