2017-05-30 161 views
1

我需要使用/存儲電子郵件地址的分隔符分隔值字符串(不是csv)。我需要選擇一個安全的分隔符。電子郵件地址dsv的安全分隔符

E.g. [email protected],[email protected], - 此例如逗號是不安全的,因爲它在電子郵件地址內有效。

似乎幾乎所有的東西is allowed在一個電子郵件地址,特別是現在與internationalized電子郵件地址。

什麼是安全的分界符使用,而不是因爲角落案件跳過箍?我無法在the RFC中找到明確無效的字符(但有很多與電子郵件有關的相關RFC,所以我不確定要諮詢哪個字符)。

回答

0

我最初使用\,因爲這是一個轉義字符,但它是允許的,如果轉義。 @ MatWalker的回答建議像CR或LF等東西,但如果它們被轉義,也可以使用。

逃逸和更換和迴避有點複雜。所以現在我使用控制字符STX(即「文本開始」,小數點2)。

雖然RFC沒有提及(從我所看到的)控制字符是否有效/無效,但似乎沒有任何東西使它成爲不好的選擇。它確實說控制字符是「不鼓勵」,但不是禁止標題字段。

1

您將在何處/如何存儲字符串以及將使用何種分隔符?

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

+0

存儲在數據庫中。你是如何到達這些字符的? [規範](https://tools.ietf.org/html/rfc5322#section-3.5)提到ascii控制字符對身體是「灰心」的,但沒有對頭文件說任何東西,所以我認爲那些在技​​術上允許在一個電子郵件地址?無可否認,這是毫無意義的,但我們需要依靠正式的規範。 – grokky

相關問題