python3基础知识整理之字符串处理

显而易见,计算机当中的一切都只是对0和1的抽象,当我们与0和1直接打交道时,比如图片、压缩包等,我们往往不用太关心抽象方式。但是在处理字符串等对象的时候,不弄清楚其中的工作机制则会寸步难行,一个常见的问题就是乱码。

以下是我总结的部分python3字符串处理相关知识,关于字符集和字符编码的知识这里不再累述。

1,string与bytes

python3中对这两种类型做了严格的区分,从外界比如网络读取的数据一般是bytes,要作为string使用必须进行显式的转换,转换方法如下文。

2,decode与encode


bytes.decode("gb2312"):解码bytes,将bytes转换为gb2312编码的string。


string.encode("gb2312"):编码string,将string转换为gb2312编码的bytes。


python以utf-8作为默认编码,因此上述方法的参数的缺省值都是utf-8。

decode做的是解释的工作,encode则在做映射工作。如开头所说,计算机世界的硬通货是0和1,而各种编码则可以比喻成软通货。我们用decode指定的规则(编码)解释0和1,用encode去将字符串映射成0和1,从而完成相应的工作:处理或者传输数据。

在理解上述规则之后,再加以了解字符串原来的编码,就可以避免出现乱码的情况了。这里又分两种情况。1,代码中的字符串的编码取决于代码文件的编码。2,外界输入的字符串的编码取决于其本身的编码。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

vansl

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值