我需要使用/存储分隔符分隔值的字符串(不是csv)的电子邮件地址。我需要选择一个安全的分隔符。
E.g。 bar@foo.com,baz@foo.com,
- 此例中的逗号是不安全的,因为它在电子邮件地址中有效。
电子邮件地址中似乎几乎所有is allowed,特别是现在有internationalized个电子邮件地址。
由于角落的情况,什么是安全定界符而不跳过篮球?我在the RFC中找不到明显无效的字符(但是有很多与电子邮件相关的相关RFC,所以我不确定要咨询哪些字段。)
答案 0 :(得分:1)
您将在何处/如何存储字符串以及分隔符将用于什么?
您可以使用不可见的ascii字符,例如CR(Ascii 13)或Tab(Ascii 9)。
答案 1 :(得分:0)
我最初使用\
因为这是一个转义字符,但是如果转义则允许它。 @MatWalker的答案推荐CR或LF等东西,但如果它们被转义,也允许使用。
转义和替换以及取消转换有点复杂。所以现在我使用控制字符STX
(即"文本开头",小数2)。
尽管RFC没有提及(从我所见过的)控制特性是否有效/无效,但似乎没有什么能使它成为一个糟糕的选择。它确实说控制字符是“不鼓励的”,但不禁止标题字段。