将具有未知编码的扩展ascii字符传输到C#中的Twisted XMLRPC
题
基本上我想传递一个包含西班牙文本的字符串,该字符串可以是几种编码之一(Latin-1,CP-1252或UTF-8等等)。一旦它到达XMLRPC我就可以检测到编码,但在此之前我不会知道它。默认情况下,C#似乎会杀死ASCII之外的任何字符。我通过base64编码字符串解决了这个问题,但我真的很想不这样做。
我正在使用CookComputing.XmlRpc ...这是我界面的代码片段:
public interface ISpanishAnalyzer
{
[XmlRpcMethod("analyzeSpanishString")]
int analyzeSpanishString(string text);
}
任何帮助将不胜感激。谢谢!
解决方案
我认为没有比base64编码更好的方法。只要您不知道编码,就没有其他可能将其作为字节数组处理。我建议的唯一变化是通过使用byte []参数而不是字符串并让XmlRpc库来处理base64编码(假设它支持这个)来使其显式化。
不隶属于 StackOverflow