本文主要是介绍python 的百分号格式化字符串操作, 易报编码错,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
今天同事问我下面的奇怪问题,写下来,希望初学者可以baidu到#coding:utf-8zh = "中文" # 这个是utf8编码
en = u'english' # 这个是unicode,注意带个u在前面
en2 = 'english' # 这个是utf8,不带uprint '%s-%s' % (zh, en2) # 正常
print u'%s-%s' % (zh, en2) # 出错:UnicodeDecodeError: 'ascii' codec can't decode byte 0xd6 in position 0:
print '%s-%s' % (zh, en) # 出错:UnicodeDecodeError: 'ascii' codec can't decode byte 0xd6 in position 0:# python 的百分号格式化字符串操作,在两边参数中有任一个是unicode,
# 就会尝试把所有参数转成unicode,就很容易报编码错
这篇关于python 的百分号格式化字符串操作, 易报编码错的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!