我有一个返回 utf-16 编码字符串的函数,我必须通过替换将其结果包含到另一个字符串中:
string = myfunc()
debug_string = debug_string.replace("$rep$", string)
在我的eclipse环境下运行正常,但在另一个环境下报错:
UnicodeEncodeError: 'ascii' codec can't encode character u'\xe0' in position 23: ordinal not in range(128)
你知道可能的原因是什么吗?
谢谢
最佳答案
您的 string
变量不是 Unicode 格式?然后,您需要将字节序列(以 UTF-16 编码)从 string
(字符串类型)显式解码为 Unicode 对象:
u_string = myfunc().decode('utf-16')
debug_string
也应该是 Unicode。
关于python - 在 python 中编码/解码字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8712082/