如何将默认字符串编码更改为UTF 8?

San*_*osh 2 .net string encoding

我猜.net使用UTF 16进行字符串编码.

  1. 如何将其更改为使用UTF 8?
  2. 更改编码的副作用是什么?
  3. 我的.net(c#)应用程序完全保持大约120 MB的字符串实例.我假设如果我可以将默认编码更改UTF 8为占用空间将减少一半.

Ode*_*ded 10

无需猜测.它确实在内部使用UTF-16(参见CharMSDN上Structure页面的备注部分).

您无法更改.NET在内部处理字符串的方式.

如果您需要更改输出的编码,请使用Encoding该类,特别是UTF-8,您只需使用静态属性即可Encoding.UTF8.

我理解想要节省空间,但也许您需要重新考虑应用程序设计并在外部使用这些字符串(即从文件系统或数据库加载)而不是编译到应用程序中?