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

來源:互聯網
上載者:User

原文地址:點擊開啟連結

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

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

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

在快閃記憶體中記錄這個收穫時,@飛鳥_Asuka在回複中提了一個很好的問題:“那麼在選擇編碼方式的時候為什麼unicode和utf8會是分別的兩個選項呢?”

在C#中,System.Text.Encoding.Unicode與System.Text.Encoding.UTF8分別是2種編碼方式。如果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.

原來Windows預設的Unicode實現是UTF-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 = UTF-16 。

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

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.