我们正在开发 Tinder/Whack 提供的 XMPP 外部组件,并希望保留此案例。例如,如果 JID 是 Bob@myhost.com,我们不想翻译为 bob@myhost.com。我们看到外部组件作为 Bob@myhost.com 的 jid,但是当它们到达我们的特定代码时,它们被折叠到 bob@myhost.com。我们需要保存这个案子。
保存 JID 案例的最佳方法是什么?
JID 的“localpart”目前在RFC 6122 的第 2.3 节中定义,参考附录 A,其中说:
A.3。映射
此配置文件使用来自STRINGPREP的下表指定映射:
Table B.1 Table B.2
请注意,STRINGPREP 的表 B.2 是丑陋的硬编码大小写折叠。所以不,你不能关闭大小写折叠来比较 JID,许多服务器和库会修改它们处理的 JID,以避免不得不多次执行代价高昂的规范化。
如果您希望对此进行更改,我们正在 IETF 的précis 工作组中开发一个新的字符串比较框架,欢迎提出意见 - 但向后兼容性要求将使您的立场难以争论。