iis服务器助手广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python2.x的编码问题
  • 865
分享到

Python2.x的编码问题

2023-01-31 08:01:08 865人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

好像写python的人经常遇到这个问题,如果是一个新手,对网上的解答简直头都大了.如果又是Python2.x,简直了都(历史原因,不赘述)但是,字符串编码是经常要面对的问题,不可不察. Unicode与各种编码格式 我的理解是:Unico

好像写python的人经常遇到这个问题,如果是一个新手,对网上的解答简直头都大了.如果又是Python2.x,简直了都(历史原因,不赘述)
但是,字符串编码是经常要面对的问题,不可不察.

Unicode与各种编码格式

我的理解是:Unicode是一种规则,法则,抽象的,飘在空中的; 而各种编码则是工具,把Unicode字符捣鼓成我们想要的东西. 在Python中,Unicode充当着解决各种字符编码问题的桥梁

数据(字符串)与Python程序无非两种关系: 数据流到Python程序中(输入),Python程序流出各种数据(输出).

数据从外部(文件,网络等地方)-->Python程序时

先不急,用一个unicode接住它们,然后再进行之后的各种操作

content = unicode(originalContent, 'src_data_encoding')  #此处必须要知道源的编码格式

数据从Python-->外部时

Unicode字符是不能随便写的,要先把我们的Unicode编码成具体编码格式,然后再写出

content = unicodeContent.encode(encoding) #必须要清楚目的地能接受的编码格式

其他需要知道的

1 Python有时会「自作主张地」转换我们的unicode(以ascii格式),简直stupid,ascii就那么几个字符,肯定经常抛UnicodeEncodeError啊
2 Python有时能猜到目的地的编码,猜到万幸,没有猜到就抛错误
3 使用windows_中文版的人需要知道它的cmd控制台是gbk编码的
4 linux等就好多了,我总是「如果不清楚该使用什么编码,那就是utf-8了」
5 文件头加一个coding=utf-8什么的/或者通过sys模块
6 always be utf-8-no-bom总是好的,所有IDE/editor都默认编码为utf-8-no-bom,可以省去许多麻烦(其中Windows的记事本少用,一不小心就忘记了记事本会插入BOM这一事实)
7 如果能用python3就绝不使用Python2,3修补了字符串的许多坑(不只是unicode这一项)

举例

1 Windows_cmd控制台打印unicode

Windows8中文版-Python2.7
s = u'中国人民'
print s  #ok,看来Python知道应该使用什么编码,隐式转换了
print s.encode('gbk')  #ok,目的地能接受gbk
print s.encode('utf-8') #fail,看来万能的utf-8不好用啦,因为目的地不接受

2 有时候从网页获取来的数据可能是utf-8的,但是打印到Windows_cmd控制台出错了

content = unicode(contentFromhtml, 'utf-8')  #当然也有可能是其他编码
print content.encode('gbk')  #转换层控制台能接受的编码

总结

unicode是一座桥梁,连接这桥这头与那头

--结束END--

本文标题: Python2.x的编码问题

本文链接: https://www.lsjlt.com/news/193158.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python2.x的编码问题
    好像写Python的人经常遇到这个问题,如果是一个新手,对网上的解答简直头都大了.如果又是Python2.x,简直了都(历史原因,不赘述)但是,字符串编码是经常要面对的问题,不可不察. Unicode与各种编码格式 我的理解是:Unico...
    99+
    2023-01-31
  • python2爬虫编码问题
    import sys reload(sys) sys.setdefaultencoding('utf-8') # 输出的内容是utf-8格式...
    99+
    2023-01-31
    爬虫
  • Python 3.x中的编码和解码问题
    最近在极客学院学习爬虫,老师用的是2.x版本,而我电脑里的版本是3.x,于是在网页上查找在输出中文时如何正确输出。 我原以为2.x 3.x在很多语法上没什么区别,在解码decode上应该也差不多,没想到竟然发现,很多博客提到2....
    99+
    2023-01-31
    Python
  • Python2.x与Python3.x的
    python2.x和python3.x版本有很大的差异,除了依赖包的名称变化很大外,其主要差异总结如下: 1)print函数 Python3中,print函数的括号是必须的,Python2是可选的。 2)键盘读取输入方面 P...
    99+
    2023-01-31
  • Python3.x和Python2.x的
    1.性能  Py3.0运行 pystone benchmark的速度比Py2.5慢30%。Guido认为Py3.0有极大的优化空间,在字符串和×××操作上可  以取得很好的优化结果。  Py3.1性能比Py2.5慢15%,还有很大的提升空间...
    99+
    2023-01-31
  • python2.x和python3.x的
    Python的3​​.0版本,常被称为Python3000,或简称Py3k。相对于Python的早期版本,这是一个较大的升级。 为了不带入过多的累赘,Python3.0在设计的时候没有考虑向下相容。许多针对早期Python版本设计的程式都无...
    99+
    2023-01-31
  • python3.x与python2.x的
    python3.x与python2.7.x都是比较流行的版本,虽然建议现在的初学者开始学习python3.x的版本,但是还有很多的工程使用的是python2.7.x版本。观看代码的时候难免会出现一些问题。 在google上搜到比...
    99+
    2023-01-31
  • python面试题Python2.x和P
    所属网站分类: 面试经典 > python 作者:外星人入侵 原文链接: http://www.pythonheidong.com/blog/article/22/ 来源:python黑洞网 www.pythonheidon...
    99+
    2023-01-31
    面试题 python
  • python中的编码和解码及\x和\u问题
    目录编码和解码及\x和\u问题python解析 \x 和 \u "乱码"python2.7解析方法python3解析方法编码和解码及\x和\u问题 “...
    99+
    2024-04-02
  • 13条Python2.x和3.x的区别?
    从今天开始,小明将和你一起过一下,那些在面试「Python开发」岗位时面试官喜欢问的问题。内容基础,但是你不一定会噢。 这些问题全部来自个人经验,群友推荐以及网络上的帖子。如果你有好的问题,也可以随时向我提出(不要觉得简单),我会筛选后整理...
    99+
    2023-01-31
    区别
  • Python3的编码问题
    ​介绍Python3中的编码问题前,第一个段落对字节、ASCII​与Unicode与UTF-8等进行基本介绍,如果不对这几种编码犯头晕,可直接跳过。 ASCII​与Unicode与UTF-8与GBK 首先从老大哥说起。跟很多人一样,...
    99+
    2023-01-31
  • python编码问题
    基本常识ASCII编码是1个字节bytes,而Unicode编码通常是2个字节1bytes=8bit在计算机内存中,统一使用Unicode编码,当需要保存到硬盘或者需要传输的时候,就转换为UTF-8编码。 字母"A"用ASCII编码是十进...
    99+
    2023-01-31
    python
  • Python中的编码问题
    视频汇总首页:http://edu.51cto.com/lecturer/index/user_id-4626073.html对于Python的初学者来说,编码问题相当令人头疼。本文就根据我在学习过程中遇到的问题简单谈一下Python中的编...
    99+
    2023-01-31
    Python
  • 如何把python2.x的脚本转为pyt
    利用Python内置(Python脚本)工具,帮你自动转换Python 2.x版本,比如我安装的Python 2.7.2,其在windows下载安装好之后,就自带了相关的一些有用的工具。其中一个叫做2to3.py,就是用来帮你实现,将Pyt...
    99+
    2023-01-31
    脚本 pyt
  • 浏览器的编码问题
    Chrome的编码: F12打开开发者模式,在控制台中输入如下命令来查看浏览器的编码: 同样的方法在edge中查看: 若用记事本创建一个文件,并包含中文内容,则两个浏览器都可以正常打开,没有乱码。...
    99+
    2023-09-06
    apache php 开发语言
  • Python 3.x 编解码
    #-- coding:gbk -- 指定文件编码#Author:leiimport sysprint(sys.getdefaultencoding())s = "你好"print(s)print(s.encode("gbk")) #编码...
    99+
    2023-01-31
    编解码 Python
  • Python:一图看懂Python2还是Python3的编码
    无论是Python2还是Python3,都使用unicode作为内存编码,简称内码。保存在python解释器内存中的文本,输出到屏幕、编辑器,或者保存成文件的时候,都要将内码转换成utf8或者gbk等编码格式;同样,python解释器从输入...
    99+
    2023-06-02
  • python2和3共存时pip安装的问题
    安装有python2和python3多版本的情况下,我们使用pip安装模块容易出问题:[root@python ~]# python -m pip install psutilCollecting psutil  Downloading p...
    99+
    2023-01-31
    pip
  • python 编码问题 utf8 ?Un
    用python,之前运行的很好,但是UnicodeDecodeError: 'utf8' codec can't decode byte 0xc4 in position 4: invalid continuation byte添...
    99+
    2023-01-31
    python
  • DevSecOps的编码问题有哪些
    这篇文章主要讲解了“DevSecOps的编码问题有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“DevSecOps的编码问题有哪些”吧!内存错误内存读取...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作