我正在尝试使用python2.7.15和psychopy1.90.2打印一个文本刺激。不幸的是“£”符号导致了visual.TextStim要抛出错误:
money = 2
text_to_print = "£" + str(money)
bonus = visual.TextStim(win, text=text_to_print, pos=[0.7,-0.35], height=TEXT_STIM_HEIGHT, font="Arial", bold=True)
bonus.setColor('GoldenRod')
bonus.wrapWidth=1
错误为:
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc2 in position 0: ordinal not in range(128)
我想知道如何在我的文字刺激开始时加入“£”符号。非常感谢。你知道吗
错误是明确的。
"£"
不是ascii字符。它是unicode字符U+00A3。由于错误说明字节0xc2无法解码,我假设您的源代码是utf8编码的(utf-8编码时"£"
读作b'\xc2\xa3'
)。你知道吗不太确定,因为我没有python 2.7.15和Psychopy 1.90.2系统,但我会尝试在这里传递unicode字符串:
在非ascii字符前面加上
u
(表示“unicode”),以便:当一个字符是unicode时,其他字符也会是unicode,就像添加整数和浮点-选择更全面的数据类型一样。以上内容比更详细的等效内容更简单:
从python3开始(包括PsychoPy3),所有的东西默认都是unicode,所以“特殊”字符在PsychoPy中不应该造成问题。你知道吗
相关问题 更多 >
编程相关推荐