电子邮件地址的dsv的安全分隔符

我需要使用/存储电子邮件地址的分隔符分隔值字符串(不是csv)。 我需要选择一个安全的分隔符。

例如bar@foo.com,baz@foo.com, - 在这个例子中的逗号是不安全的,因为它在电子邮件地址中是有效的。

似乎几乎所有东西都可以在电子邮件地址中使用,特别是现在使用国际化的电子邮件地址。

什么是安全的定界符,而不是因为角落案例而跳过篮圈? 我无法在RFC中找到明确无效的字符(但有很多与电子邮件相关的相关RFC,所以我不确定要咨询哪个字符)。


您将在何处/如何存储字符串以及分隔符的用途是什么?

您可以使用不可见的ascii字符,例如CR(Ascii 13)或Tab(Ascii 9)。


我最初使用因为这是一个转义字符,但是如果转义,它是允许的。 @ MatWalker的回答建议像CR或LF等东西,但如果它们被转义,也可以使用。

转义,替换和回避有点复杂。 所以现在我使用控制字符STX (即“文本开始”,小数点2)。

虽然RFC没有提及(从我所见到的)控制字符是否有效/无效,但似乎没有任何东西使它成为不好的选择。 它确实说控制字符是“不鼓励”,但不是禁止标题字段。

链接地址: http://www.djcxy.com/p/16591.html

上一篇: Safe delimiter for dsv of email addresses

下一篇: Validate email address against invalid characters