2016-01-22 54 views
-1

我正在分析MIME中使用的字符集來組合多個字符集。電子郵件客戶端使用哪種字符編碼來編碼日文字符?

對於這樣寫道樣品電子郵件爲:

This is sample test email 精巣日本 dsdsadsadsads 

它會自動被轉換成:

This is sample test email 精巣日本 dsdsadsadsads 

我想知道,哪些字符集編碼用來編碼字符的論文? 這可能在C中使用該字符集編碼嗎?

電子郵件客戶端:Postfix的網絡郵件

+1

它是[HTML實體](http://www.w3schools.com/html/html_entities.asp)(也讀過[維基百科上的字符引用](https://en.wikipedia.org/wiki/Character_encodings_in_HTML# Character_references)。這個數字是[Unicode](https://en.wikipedia.org/wiki/Unicode)[code point](https://en.wikipedia.org/wiki/Code_point)。你不能使用他們在你的程序中正常輸出到例如'stdout',除非你的終端處理了(這是不太可能的)。你可能試試打印[UTF-8]更好運氣(https://en.wikipedia.org/wiki/UTF-8)編碼的字符(取決於系統和終端) –

+0

謝謝,我不是在終端上打印數據,我想創建具有多個字符集的電子郵件,這可能有所幫助。 – Pravin

回答

1

MIME的目的是爲了讓支持任意內容類型和編碼。只要內容在MIME頭文件中被充分標記,您就可以使用任何您認爲合適的編碼。你的用例沒有單一的正確編碼;儘管在這個時代,迄今爲止最簡單的解決方案是使用Unicode來處理所有事情。

在MIME術語中,您將使用類似Content-Type: text/plain; charset="utf-8"之類的東西,然後相應地編碼正文文本。如果您需要電子郵件是7位安全的,您可以在頂部使用引用可打印或base64內容傳輸編碼,但任何現代MIME庫都應該爲您處理這些細節。

您在實驗中觀察到的HTML實體不適合純文本電子郵件,儘管它們是純HTML電子郵件的可行替代方案。 (如果您的網絡郵件客戶端使用純文本電子郵件的話,它是錯誤的;只有當發件人和收件人都具有相同的錯誤時,它纔會起作用。)

傳統上,日語電子郵件會使用其中一種傳統日語編碼Shift_JIS或ISO-2022-JP。這些對英語有合理的支持,但對於正確的多語言文本沒有多大概括(雖然ISO-2022確實支持它)。與Unicode相比,將日語與例如波斯語,烏茲別克語和土耳其語是直截了當的,不帶話的。

從C使用UTF-8很容易且基本透明。見例如http://utf8everywhere.org/爲一些起點。