UnicodeDecodeError: ‘utf8‘ codec can‘t decode bytes in position 0-1: invalid data

最近好累,好想缓缓,然后再接着生活。感谢周围的小伙伴,让我能有继续坚持下去的勇气!

Python 里面的编码和解码也就是 unicode 和 str 这两种形式的相互转化。
编码是 unicode -> str,相反的,解码就 是 str -> unicode。

def move_out_resource(request):
    info = json.loads(request.body)
    to_pro_id = info.get('to_pro_id').encode('utf-8')
logger.info('当前请求的to_pro_id是:{}'.format(to_pro_id)  

此处的encode(‘utf-8’)可以算是解决下方的可能出现的编码错误的一种方式。
不管是中文还是字母,经过encode(‘utf-8’)都直接转换成字符串类型的,不会出现编码问题的错误
UnicodeDecodeError: ‘utf8‘ codec can‘t decode bytes in position 0-1: invalid data
如果不进行encode(‘utf-8’)的转换,通过接口传递的参数是unicode形式的编码,如果是英文不会报错,如果是中文就会出错。

这是在不添加u的前提下的一种解决编码问题的方式。

如果添加了u,如下图所示,后面所示的得是unicode类型的,不然会报错
因为python默认的编码方式是ascii,如果不一致 则会将中文转换为Unicode,而ascii不能进行相应的转化就会出现类型unicodedecodererror 的错误信息。
UnicodeDecodeError: ‘utf8‘ codec can‘t decode bytes in position 0-1: invalid data

上一篇:尚硅谷在线教育项目P166中NUXT安装报错npm ERR! Invalid name: “{{ name }}“


下一篇:pytorch多块gpu使用总结,报错AssertionError: Invalid device id