A transferência de caracteres ASCII estendidos com codificação desconhecido para uma torcida de XMLRPC C #

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

  •  02-07-2019
  •  | 
  •  

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!

Foi útil?

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).

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top