Dot.Blog

C#, XAML, Xamarin, UWP/Android/iOS

Encoder en ANSI ou autre avec Silverlight

[new:01/03/2013]Encoder des données texte avec Silverlight est parfois problématique car le runtime ne supporte que l’Unicode (UTF-16) et UTF8. Souvent on a besoin d’autres encodages, comme par exemple ANSI. Que faire ? Utiliser un générateur !

La classe Encoding

C’est la classe de base des encodeurs .NET.
Sous Framework complet on dispose de plusieurs encodeurs comme le fameux ANSI évoqué en introduction.

Hélas, le profile .NET de Silverlight est par force limité (sinon il serait aussi gros que le framework complet). Et il y a des coupes sombres un peu partout. Cela a été fait avec doigté et beaucoup d’intelligence, mais le problème c’est que parfois certaines choses manquent cruellement.

La stratégie la plus fréquente consiste à écrire le “morceau” de .NET qui manque. Comme un projet Silverlight n’a pas besoin de tout le framework, cette réécriture des parties manquantes se limite le plus souvent à quelques classes. La taille du XAP augmente un peu pour compenser celle du plugin, mais c’est une stratégie globalement payante pour tout le monde : Microsoft peut distribuer un plugin assez léger bien que très complet, le développeur ajoute ce qui lui manque ce qui n’arrive jamais à faire la taille du framework complet malgré tout.

Reste que réécrire certaines parties n’est pas toujours simple. Soit parce que cela est juste fastidieux, soit parce que cela ne marche pas vraiment (limiter les valeurs d’une propriété de dépendance par exemple, le code supprimé ne peut pas être “réinjecté” là où il le faudrait), soit parce que cela est particulièrement ardu.

Dans tous les cas c’est une perte de temps qu’on aimerait éviter.

Grâce au partage sur le Web on finit toujours par trouver quelque chose, au moins un squelette de code qu’on peut triturer pour l’adapter à ses besoins.

Mais parfois on a des surprises encore meilleures !

Un générateur de classes dérivant de Encoding

C’est encore le plus simple, bien entendu… Plutôt que de bricoler un bout de code, utiliser un générateur est le summum du gain de temps !

Et bien cela existe…

image

 

Philipp Sumi a écrit un tel générateur pour créer des encodeurs de texte pour tous les types possibles, dont ANSI.

Cet utilitaire est fournir en code source et en code compilé pour aller encore plus vite.

Que demander de mieux ?

Rien. Dire Merci à Philipp, c’est déjà pas mal Sourire

Le code Source

Le code Compilé

L’entrée de blog de Philipp Sumi

Conclusion

Grâce à la générosité de nombreux bloggers dans le monde, développer est souvent plus simple, plus facile que cela ne le fut à une époque où nous n’avions pas Google, ni Internet, juste quelques BBS américain à 500F l’heure de communication et un pauvre manuel du langage souvent mal traduit…

Epoque de pionniers, époque terminée, quels chanceux vous êtes ! Sourire

Alors Stay Tuned !

blog comments powered by Disqus