字符编码

字符编码

1.字符编码简介

  • 字符编码只针对文本文件
  • 计算机内部存储数据的本质是二进制 也就是计算机只认识0和1
  • 我们打出来的字能被计算机识别是因为中间有一层转换关系>>字符编码表、

2.字符编码发展的三个阶段

  • 阶段一:一家独大

    由于计算机是美国人发明的 为了可以让计算机识别英文 所以发明了ASCII码

    ASCII码中记录了英文字母跟数字的对应关系>>用1字节来表示一个英文字符

    A-Z:65-90

    a-z:97-122

  • 阶段二:群雄割据

    各国都有自己的字符编码

    中国:GBK码 记录中文、英文与数字的对应关系>>用2个字节来表示一个字符

    日本:shift_JIS码 记录日文、英文与数字的对应关系

    韩国:Euc_kr码 记录韩文、英文与数字的对应关系

    PS:此时各个国家之间编码不一致,不同数据无法直接交互会出现乱码!

  • 阶段三:天下统一

    万国码(unicode):兼容多个多家语言与数字的对应关系 >>用2字节表示一个字符

    后来utf家族发布了优化版:utf8 英文采用1字节 中文采用3字节

    ps:内存使用unicode 硬盘采用utf8

3.字符编码相关操作

只有字符串可以参与编码解码 其他数据类型需要先转成字符换才可以

  • 解决乱码的措施

    1.当初用什么编码存的就用什么编码解码
    2.一个一个切换尝试
    
  • 编码与解码

    编码:人类字符--->计算机字符

    将人类字符按照指定的编码编程计算机可以识别的数字

    encode()

    #encode()编码
    
    s1 = '张三'
    res = s1.encode('utf8')
    print(res)
    #结果为:b'\xe5\xbc\xa0\xe4\xb8\x89'
    
    

    解码:计算机字符--->人类字符

    将计算机可以识别的数字按照指定的编码解成人类可以读懂的字符

    decode()

    #decode()解码
    
    res1 = res.decode('utf8')
    print(res1)
    #结果为:张三
    
    
  • 不同版本解释器的区别

    python2默认的编码是ASCII码 如果想要使用utf8需要:

    1.文件最开头输入:#encoding:utf8

    2.每个字符串前面都要加u print u'我是小美女'

    python3默认就是utf8

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:字符编码 - Python技术站

(0)
上一篇 2023年3月31日
下一篇 2023年3月31日

相关文章

  • 函数

    函数 一、函数的基本使用 1.函数简介 使用函数目的就是为了减少重复编写代码 循环:在相同的地方反复执行代码 函数:在不同的地方反复执行代码 没有函数:维修工每次工作的时候都要先创造工具再工作 有函数:维修工再工作的时候直接拿工具过来工作 2.函数的语法结构 定义阶段 def 函数名(形参): ”’函数注释”’ 函数体代码 return 返回值 调用阶段…

    2023年3月31日
    00
  • 数据类型的内置方法 可变类型与不可变类型

    数据类型的内置方法 什么是数据类型的内置方法? ​ 数据类型自带的操作方法或功能 调用数据类型的内置的方法的方式是: ​ 句点符 数据类型.方法名() eg: 变量名.方法名() 数据值.方法名() 1.整型相关操作方法 类型转换 int(待转换的数据类型) 1.浮点型可以转整型 ‘只要小数点前面的整数 不做四舍五入’ 2.字符串可以转整型 ‘但是字符串内部…

    Python开发 2023年3月31日
    00
  • pycharm下载安装与基本配置

    pycharm下载安装与基本配置 1.简介 PyCharm是一种Python IDE(Integrated Development Environment,集成开发环境),带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试、语法高亮、项目管理、代码跳转、智能提示、自动完成、单元测试、版本控制。此外,该IDE提供了一些高级功能,以用于…

    2023年3月31日
    00
  • drf 认证组件、权限组件、频率组件

    认证组件 访问某个接口 需要登陆后才能访问 #第一步 写一个登录功能 用户表 User表 UserToken表 :存储用户登录状态 【这个表可以没有 如果没有 把字段直接卸载User表上也可以】 登录接口 model.py class Books(models.Model): name = models.CharField(max_length=32) pr…

    2023年3月31日
    00
  • 模块

    模块 一、模块简介 1.什么是模块 内部具有一定功能(代码)的py文件 2.python模块的历史 python屈辱史:python刚出来时被瞧不起因为太简单,写代码都是调用模块(调包侠 贬义).后来业务扩展很多程序员也需要使用python写代码,发现好用(调包侠 褒义).python为什么好用?因为支持python的模块非常多还很全面. 作为python程…

    2023年3月31日
    00
  • 垃圾回收机制

    垃圾回收机制 什么是垃圾回收机制 垃圾回收机制是专门回收没有被变量名绑定的垃圾数据 用来释放空间 引用计数 引用计数就是数据值与变量名之间绑定的次数 age = 18 #数据值18的引用计数为1 引用计数增加: x = age #数据值18的引用计数为2 ‘把age的内存地址给了x,此时age和x都绑定了18 所以18的引用计数为2’ 引用计数减少: age…

    2023年3月31日
    00
合作推广
合作推广
分享本页
返回顶部