【发布时间】:2009-12-15 15:02:17
【问题描述】:
我有一些这样的数据:
data1 = ['Agos', '30490349304']
data2 = ['Desir\xc3\xa9','9839483948']
我使用的 API 需要以 base64 编码的数据,所以我要做的是:
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 编解码器 - 或者,这些天,它为什么存在(或者,它的存在可能很好,但不应该在没有明确要求的情况下使用它)。
标签: python encoding utf-8 ascii base64