字符串还有一个编码问题。

因为计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理。最早的计算机在设计时采用8个比特(bit)作为一个字节(byte),所以,一个字节能表示的最大的整数就是255(二进制11111111=十进制255),0 - 255被用来表示大小写英文字母、数字和一些符号,这个编码表被称为ASCII编码,比如大写字母 A 的编码是65,小写字母 z 的编码是122。

如果要表示中文,显然一个字节是不够的,至少需要两个字节,而且还不能和ASCII编码冲突,所以,中国制定了GB2312编码,用来把中文编进去。

类似的,日文和韩文等其他语言也有这个问题。为了统一所有文字的编码,Unicode应运而生。Unicode把所有语言都统一到一套编码里,这样就不会再有乱码问题了。

Unicode通常用两个字节表示一个字符,原有的英文编码从单字节变成双字节,只需要把高字节全部填为0就可以。

因为Python的诞生比Unicode标准发布的时间还要早,所以最早的Python只支持ASCII编码,普通的字符串'ABC'在Python内部都是ASCII编码的。

Python在后来添加了对Unicode的支持,以Unicode表示的字符串用u'...'表示,比如:

print u'中文'

中文

注意: 不加 u ,中文就不能正常显示。

Unicode字符串除了多了一个u之外,与普通字符串没啥区别,转义字符和多行表示法仍然有效:

转义:

u'中文\n日文\n韩文'

多行:

u'''第一行

第二行'''

raw+多行:

ur'''Python的Unicode字符串支持"中文",

"日文",

"韩文"等多种语言'''

如果中文字符串在Python环境下遇到 UnicodeDecodeError,这是因为.py文件保存的格式有问题。可以在第一行添加注释

# -*- coding: utf-8 -*-

目的是告诉Python解释器,用UTF-8编码读取源代码。然后用Notepad++ 另存为... 并选择UTF-8格式保存。

python中的unicode码是什么_Python中Unicode字符串相关推荐

  1. python中的ascii码是啥_python ascii码到u

    如果您不了解底层机制,很难解释UnicodeErrors.你真的应该读其中的一个或两个 简而言之,Unicode码位是一个抽象的"东西",表示一个字符1.程序员喜欢使用它们,因为我 ...

  2. python unicode编码转换中文_python实现unicode转中文及转换默认编码的方法

    本文实例讲述了python实现unicode转中文及转换默认编码的方法.分享给大家供大家参考,具体如下: 一.在爬虫抓取网页信息时常需要将类似"\u4eba\u751f\u82e6\u77e ...

  3. python中内置函数的用法_python中str内置函数用法总结

    大家在使用python的过程中,应该在敲代码的时候经常遇到str内置函数,为了防止大家搞混,本文整理归纳了str内置函数.1字符串查找类:find.index:2.字符串判断类:islower.isa ...

  4. python异常处理时所使用的保留字_Python中,下列哪个保留字不用于异常处理______________。_学小易找答案...

    [单选题]维持细胞生存所必需的最基本的基因是 ( ) [单选题]从体细胞克隆高等哺乳动物的成功说明了 ( ) [单选题]细胞决定与细胞分化的关系是 ( ) [多选题]一种类型的分化细胞转变成另-种类型 ...

  5. python中属于有序序列的有_Python中的有序序列有哪些

    Python中的有序序列有哪些 list.tuple以及str都是有序序列,和后面两者不同的是list是个可变对象,tuple和str则是不可变对象.主要讲的就是这三种的有序序列的一些方式.方法效果L ...

  6. python中转义符的用法大全_Python中的各种转义符\n\r\t

    Python中属性和描述符的简单使用 Python的描述符和属性是接触到Python核心编程中一个比较难以理解的内容,自己在学习的过程中也遇到过很多的疑惑,通过google和阅读源码,现将自己的理解和 ...

  7. python协程怎么做数据同步_Python 中的进程、线程、协程、同步、异步、回调

    进程和线程究竟是什么东西?传统网络服务模型是如何工作的?协程和线程的关系和区别有哪些?IO过程在什么时间发生? 一.上下文切换技术 简述 在进一步之前,让我们先回顾一下各种上下文切换技术. 不过首先说 ...

  8. python中的header是什么意思_python中header是什么意思啊

    python中的createheader什么意思 %-*s代表输入一个字符串,-号代表左对齐.后补空白,*号代表对齐宽度由输入时确定%*s代表输入一个字符串,右对齐.前补空白,*号代表对齐宽度由输入时 ...

  9. python新式类和经典类区别_Python中新式类和经典类的区别,钻石继承

    1)首先,写法不一样: class A: pass class B(object): 2)在多继承中,新式类采用广度优先搜索,而旧式类是采用深度优先搜索. 3)新式类更符合OOP编程思想,统一了pyt ...

  10. python发票二维码条码识别_Python zxing 库解析(条形码二维码识别)

    各种扫码软件 最近要做个二维码识别的项目,查到二维码识别有好多开源的不开源的软件 http://www.oschina.net/project/tag/238/ Zbar 首先试了一下Zbar,pyt ...

最新文章

  1. php 5.2 模块路径,5.2 模块和操作
  2. GDCM:gdcm::CodeString的测试程序
  3. Quartz框架基于Calendar的排除规则
  4. 三种传统电量检测方法对比分析
  5. linux系统snmpd服务内存偏高,Red Hat Enterprise Linux 5.4 64位系统SNMP内存泄漏(上)
  6. Modern Python Cookbook》(Python经典实例)笔记 2.3 编写长行代码
  7. UltraEdit 25注册机 通用版 32/64位 绿色免费版(附破解激活教程+序列号)
  8. 浏览器大战之谷歌浏览器的逆袭
  9. JsBarcode 安装、使用、生成条形码的容器 及 参数配置options。 还存在的问题:条形码总体的宽度设置问题
  10. 盖洛普 之 首先打破一切常规
  11. arpu计算方法、pv、uv、ip的意思
  12. Pytorch介绍以及基本使用
  13. 抖音快手YY西瓜斗鱼花椒虎牙等直播平台实时录制
  14. 尝试关闭阿里云ESC的阿里云盾相关服务
  15. c语言自动输入一位数字,c语言:要求输入一个四位整数,然后将各位数字按英文输出...
  16. 开源开放 | 一个用于文言文实体识别与关系抽取等任务的开源数据集C-CLUE(CCKS2021)...
  17. php 精湛技术,【名医风采】范学民:用精湛技术温暖患者
  18. 颜色的前世今生19·外传之PPI、LPI、DPI疑难问题解答
  19. Tesra平台训练数据(没有足够强大的显卡情况下使用云端跑代码)(一)
  20. python 廖雪峰_实战 - 廖雪峰的官方网站

热门文章

  1. CSDN资源下载积分规则
  2. MFC Windows 程序设计(一)-程序员的解放
  3. 雅思准考证可以下载到电脑上吗
  4. 常用的数据库软件各自有什么特点?
  5. 免费的开放源代码的Web应用服务器:Tomcat
  6. sql学生选课管理系统
  7. 机器学习实战 | Python机器学习算法应用实践
  8. C++ STL 源码剖析之 Traits 编程技法
  9. java自学一般要学多久?学会了有什么作用?
  10. Vue3+ts+vite 国际化处理