C#中Encoding.Unicode与Encoding.UTF8的区别

原文地址:点击打开链接

今天在园子首页看到一篇博文-简单聊下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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月17日 06:23:22
下一篇 2025年12月17日 06:23:27

相关推荐

发表回复

登录后才能评论
关注微信