语境。
我正在将 C 写入 iCal (RFC 5545) 规范。它指定分隔行的最大长度为 75 个八位字节,不包括分隔符。稳健性原则和 W3C 字符模型都倾向于我将以 UTF8 编码的输入字符串规范化为 NFC 形式(请参阅Unicode 规范化形式)。
读取输入行时,我想读入静态分配的缓冲区。但是即使它的 NFC 格式小于 75,一条线的 UTF8 表示也可能超过 75 个八位字节。所以这个缓冲区需要大于 75 个八位字节。我的问题是有多少。
问题。
NFC 格式最多为 75 个八位字节的 UTF8 字符串的最大八位字节长度是多少?(加分项:其 NFC 形式最多为N个八位字节。)
此外,这是保证和永久的,还是当前 Unicode 的未指定结果并且可能会更改?