Übertragen von erweiterten ASCII-Zeichen mit unbekannter Kodierung Twisted XMLRPC von C #

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

  •  02-07-2019
  •  | 
  •  

Frage

Im Grunde möchte ich eine Zeichenfolge übergeben, den spanischen Text enthält, der in einem von mehreren Codierungen (Latin-1, CP-1252, oder UTF-8 um einige zu nennen) sein könnte. Sobald es an die XMLRPC bekommt kann ich die Codierung erkennen, aber ich werde es nicht vorher wissen. C #, scheint standardmäßig außerhalb von ASCII alle Zeichen zu töten. Ich habe, um das Problem durch Base64-kodiert der Zeichenfolge bekommen, aber ich würde wirklich gerne das nicht tun.

Ich bin mit CookComputing.XmlRpc ... Hier ist ein Code-Snippet meiner Schnittstelle:

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

Jede Hilfe wäre sehr geschätzt. Dank!

War es hilfreich?

Lösung

Ich glaube nicht, es ist wirklich ein besserer Weg, dann Base64-Kodierung. Solange Sie die Codierung nicht kennen, haben Sie keine andere Möglichkeit, als es als Byte-Array zu behandeln. Die einzige Änderung, würde ich vorschlagen, ist dies durch die Verwendung eines byte [] Parameter anstelle einer Zeichenfolge und lassen die XmlRpc Bibliothek explizit machen kümmern sich um die Base64-Codierung (unter der Annahme, dass es diese unterstützt).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top