[.NET] Comprendre le concept de la gestion du codage des caractères sous .NET

Une question de débutant récurrente dans les forums Microsoft : « Comment convertir une chaîne de caractères Unicode en ASCII sous .NET »

La MAUVAISE réponse que l’on trouve sur pas mal de forums est la suivante : « Utilisez cette méthode :  »

public static string Convertir(string chaine, Encoding codage)
{
 byte[] b;

 b = Encoding.Unicode.GetBytes(chaine);

 return codage.GetString(b);
}
Public Shared Function Convertir(ByVal chaine As String, ByVal codage As Encoding)
Dim b() As Byte

b = Encoding.Unicode.GetBytes(chaine)

Return codage.GetString(b)
End Function

Imprimer le code ci-dessous sur une feuille de papier A4, écrivez en-dessous « A BANNIR » et mettez la feuille à la place de la photo de vos enfants sur votre bureau !!!
(suite…)