python编码问题

python文件头选择gbk编码,默认字符串编码是unicode,那一个程序加载到内存unicode编码的可以读出来(这个没问题),那为什么其他gbk编码的也能读出来呢
比如s=“你好”
print(s)
你好是unicode编码的
但是s是gbk
他是通过什么方式读出s这个变量的

unicode是支持所有文字的统一编码,但一般只用作文字的内部表示,文件、网页(也是文件)、屏幕输入输出等处均需使用具体的外在编码,如GBK、UTF-8等;

应该有一个自动转换编码的过程