有一个参数的描述我不太理解,各位帮个忙,thanks

在蟒蛇书(《Python编程从入门到实践》第2版)10.3.5里面有一句话,就是说:“在系统的默认编码与要读取的文件使用编码不一致时,必须这样做。”(“这样做”是指为函数encoding指定一个值)这个编码是什么意思?那么这个参数赋值的时候有什么规定?该赋什么值?赋值与不赋值会有什么区别?希望各位可以给我一个入门不久的初学者一个比较好懂的答案,thanks

编码就相当于是语言,解码(encoding)就是理解语言的方式。
打个比方,你的电脑只会说中文,有个日本人用日语写个个文件给你,你的电脑用中文的方法去解读,虽然能猜个七七八八,比如里面的假名等汉字,但整体的意思还是读不懂的(乱码)。这个时候你给encoding一个值,告诉电脑用日语去读这篇文章,电脑就能把日语读出来了。
实际的编码解码过程比这复杂,但道理差不多。