UnicodeEncoding和Encoding.Unicode之间的区别是什么?

时间:2017-02-08 20:08:31

标签: c# .net unicode

对于UTF-16编码,C#同时具有System.Text.UnicodeEncoding和System.Text.Encoding.Unicode。两者之间的区别是什么?我应该何时使用每一个?

2 个答案:

答案 0 :(得分:3)

System.Text.Encoding.Unicode是一个返回System.Text.UnicodeEncoding String line = "xxxxxxxxxxxxxxxxxxxxx"; int colums = 7; for (int i = 0; i < line.length(); i++) { System.out.print(line.charAt(i)); if ((i + 1) % colums == 0) { System.out.println(); } } 实例的属性。

如果默认值适合您的用例,请使用它。否则,请创建documented default settings的自定义实例。

答案 1 :(得分:1)

第一个是UnicodeEncodingClass,它具有使用UTF-16编码数据的所有功能。第二个,Encoding.Unicode,是一个返回UnicodeEncodingClass的缓存实例的属性,其方式与Encoding.UTF8或Encoding.ASCII对其各自编码的处理方式相同。

如果您需要以某种方式自定义实例(可能将byteorder更改为big endian),那么您应该创建自己的UnicodeEncodingClass实例,否则可以使用Encoding.Unicode快捷方式。