Question

Selon MSDN vb.net utilise jeu de caractères étendu . Dans mon expérience, il utilise en fait ceci:

text alt

  1. Qu'est-ce que je manque? Pourquoi faut-il dire qu'il utilise l'un et l'autre utilise?
  2. que je fais quelque chose de mal?
  3. Y at-il une sorte d'outil de conversion du jeu de caractères d'origine?
Était-ce utile?

La solution

Ce comportement est défini dans la documentation de la commande Chr :

  

La valeur retournée dépend de la page de code pour le thread courant, qui est contenu dans la propriété ANSICodePage de la classe TextInfo dans l'espace de noms System.Globalization. Vous pouvez obtenir ANSICodePage en spécifiant System.Globalization.CultureInfo.CurrentCulture.TextInfo.ANSICodePage.

Ainsi, la sortie de Chr pour des valeurs supérieures à 127 dépend du système. Si vous voulez obtenir des résultats reproductibles, créez l'instance désirée de Encoding en appelant Encoding.GetEncoding (String ) , puis utiliser Encoding.GetChars (Byte ()) pour convertir vos valeurs numériques en caractères.

Si vous monter d'un niveau dans le tableau lié dans votre question, vous verrez qu'ils ne prétendent pas que ce tableau est toujours la sortie de la commande Chr:

  

Les caractères qui apparaissent dans Windows 127 ci-dessus dépendent de la police de caractères sélectionnée.

     

Les tableaux suivants montrent le jeu de caractères par défaut pour une application de la console.

Votre application est une application WinForm, pas une application de la console. Même dans la console, le jeu de caractères utilisé peut être modifié (par exemple, en utilisant la commande chcp), d'où le mot « par défaut ».

Pour plus d'informations sur les codages utilisés dans .net, je vous recommande l'article MSDN suivant:

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top