A transferência de caracteres ASCII estendidos com codificação desconhecido para uma torcida de XMLRPC C #
Pergunta
Basicamente eu quero passar uma string que contém texto espanhol que poderia estar em uma das várias codificações (Latin-1, CP-1252, ou UTF-8 para citar alguns). Uma vez que se chega ao XMLRPC posso detectar a codificação, mas não vou conhecê-lo antes disso. C #, por padrão parece estar matando quaisquer caracteres fora do ASCII. Eu comecei em torno do problema por Base64 que codificam a corda mas eu realmente amor para não fazer isso.
Eu estou usando CookComputing.XmlRpc ... Aqui está um trecho de código de minha interface:
public interface ISpanishAnalyzer
{
[XmlRpcMethod("analyzeSpanishString")]
int analyzeSpanishString(string text);
}
Qualquer ajuda seria apreciada. Obrigado!
Solução
Eu não acho que há realmente uma maneira melhor, então a codificação base64. Contanto que você não sabe a codificação, você não tem outra possibilidade como lidar com isso como uma matriz de bytes. A única mudança que eu sugiro é fazer isso explícito usando um parâmetro byte [] em vez de uma corda e deixar a biblioteca XMLRPC para cuidar da codificação base64 (assumindo que ele suporta isso).