Trasferimento di caratteri ASCII estesi con codifica sconosciuta in un XMLRPC attorcigliato da C #

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

  •  02-07-2019
  •  | 
  •  

Domanda

Fondamentalmente voglio passare una stringa che contiene testo spagnolo che potrebbe trovarsi in una delle numerose codifiche (Latin-1, CP-1252 o UTF-8 per citarne alcuni). Una volta arrivato a XMLRPC posso rilevare la codifica, ma prima non lo saprò. C #, per impostazione predefinita sembra uccidere tutti i caratteri al di fuori di ASCII. Ho risolto il problema con la codifica base64 della stringa, ma mi piacerebbe davvero NON farlo.

Sto utilizzando CookComputing.XmlRpc ... Ecco uno snippet di codice della mia interfaccia:

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

Qualsiasi aiuto sarebbe apprezzato. Grazie!

È stato utile?

Soluzione

Non penso che ci sia davvero un modo migliore della codifica base64. Finché non si conosce la codifica, non si ha altra possibilità di gestirla come una matrice di byte. L'unica modifica che suggerirei è di rendere esplicito questo utilizzando un parametro byte [] invece di una stringa e lasciando che la libreria XmlRpc si occupi della codifica base64 (supponendo che supporti questo).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top