跳到主要内容

Appendix B. 实现说明

实现 Structured Fields 时, 解析器应严格遵循本文档的算法, 而不是依赖宽松或与特定字段绑定的字符串处理. 这包括对空白, 分隔符, 参数, 内部列表和字节序列的处理.

实现应避免在解析过程中接受超出语法允许范围的输入. 宽松解析可能导致不同实现对同一字段值得出不同解释, 从而破坏互操作性, 也可能引入安全问题.

序列化器应生成规范形式. 这包括按规定格式输出 Integer 和 Decimal, 正确引用 String, 正确编码 Byte Sequence, 并按字段模型输出参数和值.

实现还应考虑资源消耗限制. 虽然 Structured Fields 的语法有意保持简单, 但过长字段, 深层内部列表或大量参数仍可能造成内存和 CPU 压力. 实现可以设置合理限制, 并在超出限制时将字段视为无效.

测试应覆盖成功解析, 失败解析, 边界数值, 空列表, 参数顺序, 重复成员和序列化往返等情况. 对通用库而言, 与本文档算法保持一致比模仿某个既有字段的历史行为更重要.