Python中Unicode字符串(字符串编码问题)
Python中Unicode字符串(字符串编码问题)
因为计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理。最早的计算机在设计时采用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格式保存。
# -*- coding: utf-8 -*- 和 u'...',只能同时存在一个,前者用的较多。
转载于:https://www.cnblogs.com/Bro-Young/p/7695825.html
Python中Unicode字符串(字符串编码问题)相关推荐
- python中abc属于字符串吗_在Python中,字符串s = 'abc',那么执行表达式s+'d'之后,s的打印结果是( )。...
[单选题]当知道条件为真,想要程序无限执行直到人为停止的话,可以需要下列哪个选项? [单选题]Python3解释器执行 for i,v in enumerate([0,1,2],2):print(i, ...
- Python 中的反转字符串:reversed()、切片等
摘要:以相反的顺序反转和处理字符串可能是编程中的一项常见任务.Python 提供了一组工具和技术,可以帮助您快速有效地执行字符串反转. 本文分享自华为云社区<Python 中的反转字符串:rev ...
- Python中列表和字符串的反转
要求: 原列表:[13, 30, 42, 85, 9, 45] 反转后的列表:[45, 9, 85, 42, 30, 13] 原字符串:hello 反转后的字符串:olleh Python现成的反转功 ...
- 手写Python中列表和字符串的反转
要求: 原列表:[13, 30, 42, 85, 9, 45] 反转后的列表:[45, 9, 85, 42, 30, 13] 原字符串:hello 反转后的字符串:olleh Python现成的反转功 ...
- Python中的原始字符串
Python中的原始字符串以r开头,使用原始字符串可以避免字符串中转义字符带来的问题. 其实所谓原始字符串,都是给人看的.对于计算机来说,没有什么原始字符串的概念.只是输出给人看的时候,会有一些\n. ...
- python判断字符串合法,详解Python判定IP地址合法性的三种方法 python中判断一个字符串是否是IP地址...
html 中 鼠标放在标签上会显示小手状,其它标签在其他标签上,美工给加了一些样式,鼠标放上去也显示小手状.有哪位大手状样式 有什么不懂的前端问题可以去菜鸟驿站.全都是泡沫,只一刹的花火,所谓的友情, ...
- 05、Python中转义字符与字符串
05.Python中转义字符与字符串操作函数 基于PyCharm 参考Python爬虫编程基础5天速成(2021全新合集)Python入门+数据分析 1.转义字符 2.字符串 单引号字符串: word ...
- python中时间戳、字符串之间转换详解
[转载]python中时间戳.字符串之间转换详解 (2013-04-30 17:36:07) 转载▼ 标签: 转载 原文地址:python中时间戳.字符串之间转换详解作者:doris0920 1)秒数 ...
- python与php8-详解Python中Unicode和utf-8
在Python语言中,Uincode字符串处理一直是一个容易让人迷惑的问题.许多Python爱好者经常因为搞不清Unicode.UTF-8还有其它许许多多的编码之间的区别而大伤脑筋.本文将介绍Unic ...
最新文章
- 刚毕业就年薪百万!华为给予八名博士高薪惹争议:值这么多钱吗
- java 必备_Java基础必备
- 工业物联网时代,这五大职业跻身新热门
- Codeforces 758C. Unfair Poll
- 解读main()方法中的String[] args
- Ten ways to improve the performance of large tables in MySQL--转载
- getClass()和.class的区别
- startActivityForResult的使用和用法
- python 随机数
- Office2021中文零售版的离线安装包下载地址合集
- 大数据“矿工” 世界上最艰辛的IT人
- PHP如何获取用户IP地址
- 将Python字符串转换为Int,将Int转换为String
- 电子秤查看通道及更改通道方法
- Mysql绿色版本安装
- U3D特效笔记——沼泽技能
- 烧写ARM板----MYS-6ULX
- python:操作文档——TXT篇
- 如何设置和取消PPT文件的打开密码
- 2021级高级语言期末考复盘