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’)都直接转换成字符串类型的,不会出现编码问题的错误
在这里插入图片描述
如果不进行encode(‘utf-8’)的转换,通过接口传递的参数是unicode形式的编码,如果是英文不会报错,如果是中文就会出错。

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

如果添加了u,如下图所示,后面所示的得是unicode类型的,不然会报错
因为python默认的编码方式是ascii,如果不一致 则会将中文转换为Unicode,而ascii不能进行相应的转化就会出现类型unicodedecodererror 的错误信息。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_37304462/article/details/114108423