Transfert de caractères ascii étendus avec un codage inconnu vers un XMLRPC torsadé à partir de C #

StackOverflow https://stackoverflow.com/questions/127599

  •  02-07-2019
  •  | 
  •  

Question

En gros, je souhaite passer une chaîne contenant du texte espagnol qui pourrait figurer dans un ou plusieurs encodages (Latin-1, CP-1252 ou UTF-8, pour en nommer quelques-uns). Une fois que cela arrive au XMLRPC, je peux détecter le codage, mais je ne le saurai pas avant. C #, par défaut, semble tuer tous les caractères en dehors de ASCII. J'ai résolu le problème en encodant la chaîne en base64, mais j'aimerais vraiment ne PAS le faire.

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!

Était-ce utile?

La solution

Je ne pense pas qu'il existe vraiment un meilleur moyen que le codage base64. Tant que vous ne connaissez pas l'encodage, vous n'avez aucune autre possibilité de le traiter 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'elle le supporte).

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