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

标签 .net string encoding

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

  1. 如何将其更改为使用 UTF 8?
  2. 更改编码有哪些副作用?
  3. 我的 .net (c#) 应用程序总共保留了大约 120 mb 的字符串实例。我假设如果我可以将默认编码更改为 UTF 8,占用空间将减少一半。

最佳答案

无需猜测。它确实在内部使用 UTF-16(请参阅 MSDN 上 Char 结构页面的备注部分)。

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

如果您需要更改输出编码,请使用 Encoding类,特别是对于 UTF-8,您可以简单地使用静态属性 Encoding.UTF8 .

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

关于.net - 如何将默认字符串编码更改为 UTF 8?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4158712/

相关文章:

.net - 观察者模式与事件驱动模型有何不同?

C# 等效于 C sscanf

C 中的字符指针和对同一地址的多个引用

Python,发送主题中带有特殊字符的电子邮件

UTF-8 中的 Ruby 无效字节序列(ArgumentError)

使用 AV1 进行视频编码 - FFmpeg

c# - 显示带有编号代码行的代码

c# - 使用 COM Interop 复制 Excel 工作表会丢失单元格颜色

c# - 使用平衡组的正则表达式

.net - 当(深度)克隆时,使用 String.Copy 还是 str1 = str2?