python学习第三周之字符编码转换

import sys
print(sys.getdefaultencoding())

1.本节学习的是字符编码转换,这次来详细说下,只需要记住一个图就简单了

 2.python3中编码默认为utf-8,可以用以下来验证

import sys
print(sys.getdefaultencoding())

(1)具体转换详见以下程序,只要记住以上这个图片,编码与解码就很容易理解。

s="你好"
print(s)
s_gbk=s.encode("gbk")  #将unicode转变为gbk
print(s_gbk)
print(s.encode())  #默认是unicode,转码时会变成bytes类型;unicode与utf-8可以互相不用转码互相打印,但是unidoce与gbk不可以

gbk_to_utf8=s_gbk.decode("gbk").encode("utf-8")  #先将gbk解码为unicode,在编码为utf-8,与print(s.encode()) 输出结果一致
print("utf-8",gbk_to_utf8)

(2)将文件编码转为gbk,需要在开头添加# -*- coding:gbk -*-,将文件编码为gbk

#-*- coding:gbk -*-
import sys
print(sys.getdefaultencoding())
s="你好"
print(s.encode("gbk"))  #将字符串默认为unicode,将字符串 编码为gbk
print(s.encode("utf-8"))  #将字符串编码为utf-8
print(s.encode("utf-8").decode("utf-8").encode("gb2312").decode("gb2312"))  
#最后的decode解码为中文,编码-解码-编码-解码

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值