Aber 发表于 2020-5-28 11:50:09

015,字符串格式化,请问%s有什么意义啊?是把一些乱码转成我们提前编译的UTF-8?

话说乱码是啥样子的,凭我的实力能打的出乱码吗{:10_279:}

heidern0612 发表于 2020-5-28 11:54:01

%格式化跟字符串编码是两码事。

格式化只是把你的变量名格式成字符串里面的变量值。

字符串编码的话,要讲的话,历史就太长了。

Twilight6 发表于 2020-5-28 11:54:55

等等 我让你看个宝贝{:10_297:}

Twilight6 发表于 2020-5-28 11:59:57

本帖最后由 Twilight6 于 2020-5-28 12:03 编辑


上面就是乱码,然而我的代码就是:
with open('ts.txt','w') as f:
    for i in range(5):
      f.write('啊水水大大是方法是发发水水发发\n')
这样的,就是因为我没加encoding='utf-8'导致的因为的编码 和 你读取的编码要一致,才不会乱码
而python默认是gbk 我电脑txt默认是 utf-8 这样编码汉字时候会因为字节长度不一样导致乱码,我是这样理解的 不知道有没错哈哈

看下这个视频讲编码讲的贼好:
字符编码


heidern0612 发表于 2020-5-28 12:04:31

本帖最后由 heidern0612 于 2020-5-28 12:05 编辑

Twilight6 发表于 2020-5-28 11:59
上面就是乱码,然而我的代码就是:

这样的,就是因为我没加encoding='utf-8'导致的因为的编码 和 你 ...

嗯,python3.8默认的一般都是utf-8了。而你win系统使用的编码一般都是GBK,mac是utf-8.

pycharm默认的也是utf-8.内存统一使用的都是unicode。

至于乱码的话,大概是因为你存成了gbk或uft-8,而你的编译器用的不是gbk编码或者uft-8的编码,所以导致了乱码。

一般情况下,用pycharm可以不用考虑这种情况,因为存和读的一致,都是utf-8.

编码的问题,聊起来就长了。

Twilight6 发表于 2020-5-28 12:06:00

heidern0612 发表于 2020-5-28 12:04
嗯,python3.8默认的一般都是utf-8了。而你win系统使用的编码一般都是GBK,mac是utf-8.

pycharm默认 ...

{:10_297:}我没太大错就好,就怕误导别人,谢谢涨知识了~

heidern0612 发表于 2020-5-28 12:07:55

Twilight6 发表于 2020-5-28 12:06
我没太大错就好,就怕误导别人,谢谢涨知识了~

其实这个问题很好解决,存什么格式,就用什么格式读就行了。

这样100%不会乱码。

Twilight6 发表于 2020-5-28 12:10:43

heidern0612 发表于 2020-5-28 12:07
其实这个问题很好解决,存什么格式,就用什么格式读就行了。

这样100%不会乱码。

一一对应即可   嘿嘿
页: [1]
查看完整版本: 015,字符串格式化,请问%s有什么意义啊?是把一些乱码转成我们提前编译的UTF-8?