python入门基础——字符编码

1.字符编码的定义

我们在电脑呢上进行文件编辑时,文本编辑器会将我们编辑的文本翻译成计算机能理解的二进制数

存的时候,正在编辑的文本会在内存中,当保存以后,文本编辑器会将为本进行翻译,存的硬盘中。

取的时候,首先会将硬盘中的二进制数反解成人类的语音,其次再加载到文本编辑器中。

综上所述,存取时所进行的解释和反解就是字符编码。

2,字符编码的历史

总体趋势就像中国历史上的秦始皇统一六国与三国演义差不多。

总--->分---->总的形势

计算机的诞生是在美国,所以美国人就创造了针对英语的字符编码——ASCII表,但是别的国家如果想用计算机进行文斌编辑等操作时,除非用英语,否则就会出现错误。

所以针对这种情况,每个国家便发明了属于自己国家的字符编码表。

天下大势,分久必合。为了实现各个国家的文字互通,便出现了兼容万国字符的字符编码表unicode 

注释:

ASCII表:
    1、只支持英文字符串
    2、采用8位二进制数对应一个英文字符串

GBK表:
    1、支持英文字符、中文字符
    2、
    采用8位(8bit=1Bytes)二进制数对应一个英文字符串
    采用16位(16bit=2Bytes)二进制数对应一个中文字符串


unicode(内存中统一使用unicode):
    1、
        兼容万国字符
        与万国字符都有对应关系
    2、
    采用16位(16bit=2Bytes)二进制数对应一个中文字符串
    个别生僻会采用4Bytes、8Bytes
 

 

   unicode表:
                          内存
        人类的字符---------unicode格式的数字----------
                             |                     |
                             |                     |
                             |
                            硬盘                    |
                             |
                             |                     |
                             |                     |
                        GBK格式的二进制       Shift-JIS格式的二进制

        老的字符编码都可以转换成unicode,但是不能通过unicode互转
 

3.结论

 

    1、内存固定使用unicode,我们可以改变的是存入硬盘采用格式
        英文+汉字-》unicode-》gbk
        英文+日文-》unicode-》shift-jis
        万国字符》-unicode-》utf-8

    2、文本文件存取乱码问题
        存乱了:解决方法是,编码格式应该设置成支持文件内字符串的格式
        取乱了:解决方法是,文件是以什么编码格式存如硬盘的,就应该以什么编码格式读入内存

    3、python解释器默认读文件的编码
        python3默认:utf-8
        python2默认:ASCII

        指定文件头修改默认的编码:
        在py文件的首行写:
            #coding:gbk

     4、保证运行python程序前两个阶段不乱码的核心法则:
        指定文件头
        # coding:文件当初存入硬盘时所采用的编码格式


     5、
        python3的str类型默认直接存成unicode格式,无论如何都不会乱码
        保证python2的str类型不乱码
            x=u'上'


    6、了解
        python2解释器有两种字符串类型:str、unicode
            # str类型
            x='上' # 字符串值会按照文件头指定的编码格式存入变量值的内存空间
            # unicode类型
            x=u'上' # 强制存成unicode
 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Mr_刘

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

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

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

打赏作者

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

抵扣说明:

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

余额充值