原文地址:点击打开链接
今天在园子首页看到一篇博文-简单聊下Unicode和UTF-8,从中知道了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默认的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的区别的内容,更多相关内容请关注Work网(www.php.cn)!