我有一个字符串'My Name'和带有'sünil'数据的变量customerName。我想结合两者,所以我试过
'My Name' + customerName
但这显示错误
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 20: ordinal not in range(128)
然后我试了
'My Name' + encodeStr(customerName)
但是显示
My Name s\x3\xenil
我该如何解决这个问题?
答案 0 :(得分:0)
您可以将此名称组合在一起。
comibined_name = 'My Name' + customerName
要打印它,您需要对其进行编码,使其与您要打印的编码相匹配。这有点令人困惑,你的输出可能无法处理utf-8字符。
如果您的脚本以
开头# -*- coding: utf-8 -*-
comibined_name = 'My Name' + 'Sünil'.decode('utf-8')
你可以打印
print('My Name' + customerName)
请参阅Unicode HOWTO了解原因。
在Windows下,如果以utf-8格式保存源代码,此示例 工作原理:
# -*- coding: utf-8 -*-
comibined_name = 'My Name ' + 'Sünil'.decode('utf-8')
print(comibined_name)