2008-09-24 7 views
1

Fondamentalement, je veux transmettre une chaîne qui contient du texte espagnol qui pourrait être dans l'un de plusieurs encodages (Latin-1, CP-1252, ou UTF-8 pour nommer quelques). Une fois arrivé au XMLRPC, je peux détecter l'encodage, mais je ne le saurai pas avant. C#, par défaut semble tuer tous les caractères en dehors de ASCII. J'ai réussi à contourner le problème en encodant la chaîne en base64, mais j'aimerais vraiment ne pas le faire.Transférer des caractères ascii étendus avec un codage inconnu vers un XMLRPC Twisted à partir de C#

J'utilise CookComputing.XmlRpc ... Voici un extrait de code de mon interface:

public interface ISpanishAnalyzer 
{ 
    [XmlRpcMethod("analyzeSpanishString")] 
    int analyzeSpanishString(string text); 
} 

Toute aide serait appréciée. Merci!

Répondre

2

Je ne pense pas qu'il existe vraiment un meilleur moyen que l'encodage base64. Tant que vous ne connaissez pas l'encodage, vous n'avez aucune autre possibilité de le gérer comme un tableau d'octets. Le seul changement que je suggérerais est de rendre cela explicite en utilisant un paramètre byte [] au lieu d'une chaîne et en laissant la bibliothèque XmlRpc s'occuper du codage en base64 (en supposant qu'il supporte cela).

Questions connexes