为什么我不能解码python2.7中的'utf8'字符串?

cyh*_*hao 3 python standards decode utf-8 python-2.7

我用python写:

'\xF5\x90\x90\x90'.decode('utf8')
Run Code Online (Sandbox Code Playgroud)

但它会导致错误:

UnicodeDecodeError: 'utf8' codec can't decode byte 0xf5 in position 0: invalid start byte
Run Code Online (Sandbox Code Playgroud)

该字符串\xF5\x90\x90\x90是标准的'utf8'字符串.它的二进制是11110101 10010000 10010000 10010000.遵守utf8:11110xxx 10xxxxxx 10xxxxxx 10xxxxxx的规则

为什么我不能解码这个字符串?

Mar*_*som 5

来自维基百科:

2003年11月,UTF-8被RFC 3629限制为以U + 10FFFF结束,以匹配UTF-16字符编码的约束.

您尝试解码的角色超出此范围.特别是它的U + 150410.