Python - o codec 'ascii' não pode decodificar byte

Estou realmente confuso. Eu tentei codificar, mas o erro diziacan't decode....

>>> "你好".encode("utf8")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe4 in position 0: ordinal not in range(128)

Eu sei como evitar o erro com o prefixo "u" na string. Só estou me perguntando por que o erro é "não é possível decodificar" quando a codificação foi chamada. O que o Python está fazendo sob o capô?

questionAnswers(14)

yourAnswerToTheQuestion