首頁 >後端開發 >C#.Net教程 >C#中Encoding.Unicode與Encoding.UTF8的區別

C#中Encoding.Unicode與Encoding.UTF8的區別

黄舟
黄舟原創
2017-02-13 11:44:122159瀏覽

原文地址:點擊打開連結

今天在園子首頁看到一篇博文-簡單聊下Unicode和UTF-8,從中知道了UTF-8是Unicode的一種實現方式:

Unicode只是給這世界上每個字元都規定了一個統一的二進位編號,並沒有規定程式該如何去儲存和解析。

可以說UTF-8是Unicode實作方式之一...

在快閃記憶體中記錄這個收穫時,@飛鳥_Asuka在回復中提了一個很好的問題:「那麼在選擇編碼方式的時候為什麼unicode和utf8會是分別的兩個選項呢?如果UTF-8是Unicode的一種實作方式,那C#中為什麼將Encoding.Unicode當作與UTF8並列的一種編碼方式呢?

後來在stackoverflow上找到了答案:

Windows handles so-called "Unicode" strings as UTF-16 strings, while most UNIXes default to UTF-8 these days. -16,所以C#中Encoding.Unicode就是UTF-16。

System.Text.Encoding.Unicode的註解也證明了這一點:


//
// Summary:
//     Gets an encoding for the UTF-16 format using the little endian byte order.
//
// Returns:
//     An encoding for the UTF-16 format using the little endian byte order.public static Encoding Unicode { get; }

C#中Encoding.Unicode與Encoding.UTF8的區別

rrreeeC#中Encoding.Unicode與Encoding.UTF8的區別ding

以上就是C#中Encoding.Unicode與Encoding.UTF8的區別的內容,更多相關內容請關注PHP中文網(www.php.cn)!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn