2010-11-11 3 views
2

Je suppose que .net utilise UTF 16 pour l'encodage de chaînes.Comment faire pour modifier le codage de chaîne par défaut en UTF 8?

  1. Comment le changer pour utiliser UTF 8?
  2. Quels sont les effets secondaires de la modification de l'encodage?
  3. Mon application .net (C#) conserve totalement environ 120 mb pour les instances de chaîne. Et je suppose que si je peux changer le codage par défaut à UTF 8 l'empreinte serait réduite à la moitié.

Répondre

10

Pas besoin de deviner. Il utilise en effet UTF-16 en interne (voir la section Remarques de la page Structure de Char sur MSDN).

Vous ne pouvez pas modifier la manière dont .NET gère les chaînes en interne.

Si vous devez modifier le codage pour la sortie, utilisez la classe Encoding, en particulier pour UTF-8, vous pouvez simplement utiliser la propriété statique Encoding.UTF8. Je comprends vouloir économiser de l'espace, mais peut-être avez-vous besoin de repenser la conception de l'application et d'avoir ces chaînes externes (c'est-à-dire chargées depuis le système de fichiers ou une base de données) et non compilées dans l'application?

Questions connexes