我有这样一些数据:编码UTF-8为base64与口音
data1 = ['Agos', '30490349304']
data2 = ['Desir\xc3\xa9','9839483948']
我使用预计base64编码数据,所以我做的是一个API:
data = data1
string = base64.b64encode("Hi, %s! Your code is %s" % (data[0], data[0]))
myXMLRPCCall(string)
它可以很好地处理data1。使用data2编码可以,但是XMLRPC会返回一个错误,因为它(仅来自API文档)只有ISO-8859-1(Latin1)字符。
我的问题是:如何将我的字符串转换为Latin1以便API接受它?
严格ASCII是一个7位代码集,因此不能包含诸如0xC3或0xA9的字节。然而,我不清楚为什么ASCII编解码器完全涉及 - 或者,现在甚至存在它的原因(或者,它可能存在,但不应该在没有明确要求的情况下使用)。 –