原文地址:点击打开链接
今天在园子首页看到一篇博文-简单聊下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的区别的内容,更多相关内容请关注PHP中文网(www.php.cn)!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1432233.html

微信扫一扫
支付宝扫一扫