42 votes

Comment reconnaître si une chaîne contient des caractères unicode ?

J’ai une chaîne et je veux savoir si elle contient des caractères unicode ou non. (s’il contient entièrement ASCII ou non)

Comment puis-je y parvenir?

Merci!

71voto

Tim Lloyd Points 23571

Si mes hypothèses sont correctes, vous souhaitez savoir si votre chaîne contient des caractères « non-ANSI ». Vous pouvez le déduire comme suit.

Mettre à jour

Cela détectera pour ASCII étendu. Si vous ne détectez que pour la plage de caractères ASCII réelle (jusqu’à 127), vous pourriez potentiellement obtenir des faux positifs pour les caractères ASCII étendus qui ne dénotent pas Unicode. J’y ai fait allusion dans mon échantillon.

14voto

zingh Points 137

Si une chaîne ne contient que des caractères ASCII, une étape de sérialisation + désérialisation utilisant le codage ASCII doit récupérer la même chaîne donc un enregistrement d’une doublure en c# pourrait ressembler à..

1voto

C’est une autre solution sans utiliser d’expresions lambda. Il est en VB.NET mais vous pouvez le convertir facilement en C#:

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X