好程序员Python教程之字符串编码知识小结,提及Python字符串,你会想到什么?是ASCII,还是Unicode?他们之间是如何转换的?字符串编码和字符串有什么区别?接下来好程序员Python教程就给大家分享Python入门教程中有关字符串的知识点。

1、字符和字节

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

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

2、编码和解码

  以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入门简单,但企业的高要求促使越来越多的人参加培训班系统学习并积累实战经验。

unicode 编码转换漏洞_好程序员Python教程之字符串编码知识小结相关推荐

  1. python编码转换语句_好程序员Python教程之字符串编码知识小结

    好程序员Python教程之字符串编码知识小结,提及Python字符串,你会想到什么?是ASCII,还是Unicode?他们之间是如何转换的?字符串编码和字符串有什么区别?接下来好程序员Python教程 ...

  2. cuda默认函数与c++冲突_好程序员Python教程系列-第8讲:函数和模块

    好程序员Python教程系列-第8讲:函数和模块,在讲解本章节的内容之前,我们先来研究一道数学题,请说出下面的方程有多少组正整数解. 事实上,上面的问题等同于将8个苹果分成四组每组至少一个苹果有多少种 ...

  3. vue函数如何调用其他函数?_好程序员Python教程系列之递归函数与匿名函数调用...

    好程序员Python教程系列递归函数与匿名函数调用,函数是Python技术学习中重要的一个环节,深入掌握该阶段的知识内容,对于Python技术能力的提升非常有帮助,这里就针对递归函数与匿名函数两种函数 ...

  4. python中fac函数是什么意思_好程序员Python教程系列-第8讲:函数和模块

    好程序员Python教程系列-第8讲:函数和模块,在讲解本章节的内容之前,我们先来研究一道数学题,请说出下面的方程有多少组正整数解. 事实上,上面的问题等同于将8个苹果分成四组每组至少一个苹果有多少种 ...

  5. python中fac函数是什么意思_好程序员Python教程系列之递归函数与匿名函数调用

    原标题:好程序员Python教程系列之递归函数与匿名函数调用 好程序员Python教程系列递归函数与匿名函数调用,函数是Python技术学习中重要的一个环节,深入掌握该阶段的知识内容,对于Python ...

  6. [学习笔记]黑马程序员python教程

    文章目录 思维导图 Python基础知识图谱 面向对象 SQL入门和实战 Python高阶技巧 第一阶段 第九章:Python异常.模块与包 1.9.1异常的捕获 1.9.1.1 为什么要捕获异常 1 ...

  7. python从入门到高阶(基于黑马程序员python教程)

    文章目录 0.文章来源 1."学it就来%s%s员"% (name,"程序员") 2.%s:占位字符串.%d:占位整型.%f:占位浮点型 3.字符串格式化的精度 ...

  8. 好程序员分享24个canvas基础知识小结

    好程序员分享24个canvas基础知识小结,非常全面详尽,推荐给大家. 现把canvas的知识点总结如下,以便随时查阅. 1.填充矩形 fillRect(x,y,width,height); 2.绘制 ...

  9. 好程序员分享24个canvas基础知识小结 1

    好程序员分享24个canvas基础知识小结,非常全面详尽,推荐给大家. 现把canvas的知识点总结如下,以便随时查阅. 1.填充矩形 fillRect(x,y,width,height); 2.绘制 ...

最新文章

  1. python 函数调用列表,函数调用列表的Python oneliner
  2. Cisco实战——不让坏人登陆设备
  3. python xpath语法-Python爬虫之XPath语法和lxml库的用法
  4. 升级为Exchange 2007后怀念的10件事
  5. SAP Spartacus checkout 流程使用 url 粘贴直接跳转到 delivery mode不能打开页面的原因
  6. 比特平面分层_平面设计中的分层
  7. 求职产品经理【十六】笔试真题串讲之百度地图与大数据结合的产品
  8. TensorFlow第十二步 自编码器去噪降维
  9. mysql新浪微盘_Android62期视频教程全集下载
  10. 源码编译搭建LAMP环境
  11. React:组件的生命周期
  12. 关于Lambda表达式的简单语法理解,有参无参,有无返回值的格式的理解,仅限编程新手
  13. 【python教程入门学习】值得学习练手的70个Python项目(附代码)
  14. JAVA小乌龟游泳_描写乌龟游泳的作文
  15. android机器人酷炫壁纸,机器人秀app下载
  16. 初识安全设备-防火墙
  17. Redis 设计与实现 1:数据库 redisDb
  18. 自学B站小甲鱼数据结构课程-C语言实现基础数据结构-栈-的例子
  19. 江南大学计算机专硕学硕,考研择校分析 — 江南大学
  20. 【Python】conda实现虚拟环境的创建

热门文章

  1. 进程通信学习笔记(记录上锁)
  2. Ocelot中文文档-缓存
  3. 几乎死循环的存储过程
  4. ClassNotFoundException和 NoClassDefFoundError区别验证
  5. 使用selenium+phantomJS实现网页爬取
  6. 如何给mysql用户分配权限
  7. quick-cocos2d-x开发环境Lua for IntelliJ IDEA的安装
  8. 深入理解计算机系统(3.2)---数据格式、访问信息以及操作数指示符
  9. 编译cegcc 0.59.1
  10. 红帽中出现”This system is not registered with RHN”的解决方案