Python入门教程之字符串编码知识小结

提及Python字符串,你会想到什么?是ASCII,还是Unicode?他们之间是如何转换的?字符串编码和字符串有什么区别?

  1. 字符和字节

一个字符不等价于一个字节,字符是人类能够识别的符号,可以有多种表示方法,不同的表示方法会使用不同的字节数。比如字母A-Z都可以用ASCII码表示(占用一个字节),也可以用Unicode表示(占两个字节),还可以用UTF-8表示(占用一个字节)。

 

字符编码的作用是将人类可识别的字符转换为机器可识别的字节码以及反向过程。Unicode是真正的字符串,而用ASCII、UTF-8、GBK等字符编码表示的是字节串。

 

 

  1. 编码和解码

以Unicode为例,编码(encode)是将Unicode字符串(中的代码点)转换特定字符编码对应的字节串的过程和规则;解码(decode)是将特定字符编码的字节串转换为对应的Unicode字符串(中的代码点)的过程和规则。

 

无论是编码还是解码,都需要一个重要因素,就是特定的字符编码。因为一个字符用不同的字符编码进行编码后的字节值以及字节个数大部分情况下是不同的,反之亦然。

 

3、Python编码转换

Python编码类型默认是UTF-8,Python2的默认编码是ASCII,不能识别中文字符,需要显式指定字符编码;Python3的默认编码为Unicode,可以识别中文字符。

 

在Python中不同编码的转换都要经过Unicode,不论是UTF-8或者是GBK,整个过程都是先通过编码decode转换为Unicode告诉Unicode当前的编码格式是什么、然后再通过解码encode转换为自己想要实现的编码格式或类型。

 

4、常见编码错误原因

1)Python解释器的默认编码

2)Python源文件文件编码

3)Terminal使用的编码

4)操作系统的语言设置

 

作为人工智能时代的最佳编程语言,Python吸引了广泛关注,选择学习Python的人日益增多。尽管Python入门简单,但企业的高要求促使越来越多的人参加培训班系统学习并积累实战经验。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值