Как изменить кодировку строки по умолчанию на UTF 8? - PullRequest
2 голосов
/ 11 ноября 2010

Я полагаю, что .net использует UTF 16 для строкового кодирования.

  1. Как изменить его на использование UTF 8?
  2. Каковы побочные эффекты изменения кодировки?
  3. Приложение My .net (c #) полностью удерживаетсяпримерно до 120 мб для строковых экземпляров.И я предполагаю, что, если я смогу изменить кодировку по умолчанию на UTF 8, размер занимаемой площади уменьшится до половины.

1 Ответ

10 голосов
/ 11 ноября 2010

Не нужно угадывать. Он действительно использует UTF-16 для внутреннего использования (см. Раздел замечаний на странице структуры Char в MSDN).

Вы не можете изменить внутреннюю обработку строк в .NET.

Если вам нужно изменить кодировку для вывода, используйте класс Encoding, в частности, для UTF-8 вы можете просто использовать статическое свойство Encoding.UTF8.

Я понимаю, что хочу сэкономить место, но, возможно, вам нужно переосмыслить дизайн приложения и иметь эти строки извне (т.е. загружать из файловой системы или базы данных), а не компилировать в приложение?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...