字符串与编码
来源:互联网 发布:高清网络播放机 编辑:程序博客网 时间:2024/05/16 06:31
字符编码
- 计算机只能处理数字,如果要处理文本,就必须要把文字转换成数字才能处理。
- 最早的计算机采用8个比特(bit)作为一个字节(byte)。
- 一个字节表示的最大整数位255(二进制1111 1111 = 十进制 255),二哥字节可以表示的最大整数是 65535, 4 个字节可以表示的最大整数是 42 9496 7295。
ASCII编码是有127个字符编码到计算机中,大写字母A的编码是 65,小写字母z 的编码是122。
中国定制了GB2312编码,把中文编辑进去,日文使用Shift_JIS编码里,韩文编辑到Euc-kr 里,在多语言混合时容易出现乱码。
因此Unicode 应运而生,Unicode 把所有的语言都统一到一套编码里。
- 字母 A 用ASCLL 编码是十进制的 65,二进制的 0100 0001;
- 字符 0 用ASCLL 编码是十进制的 48,二进制的 0011 0000;
- 汉子的 ‘中’已经超出ASCLL编码的范围,用Unicode 编码是十进制的20013,二进制的0100 1110 0010 1101。
- 把ASCLL编码的A 用Unciode 编码,只需要在前面补 0 就可以,因此,A的 Unicode 编码是 0000 0000 0100 0001。
UTF-8 编码
- UTF-8编码是Unicode 编码转化为可变长的一种编码形式。UTF-8 编码把一个Unicode 字符根据不同的数字大小编码成1-6个字节,常用的英文字母被编写成1个字节,汉子通是3个字节,只有很生僻的字符才会被编码成4-6个字节。
* 计算机的内存中,统一使用的是Unicode 编码,当需要保存到硬盘或者需要传输的时候,就转换为UTF-8编码。
Application (Unicode 编码)—>保存:转换为UTF-8 —> 文件(UTF-8 编码)
文件(UTF-8 编码) —> 读取:转换为Unicode —> Application(Unicode 编码)
服务器 (Unicode 编码) —> 输出UTF-8 网页 —> 浏览器
网页的源码上会有类似
<meta charset="UTF-8"/>
的信息,表示该网页是用UTF-8编码的。
python 中的字符串
python3 版本中,字符串是移Unicode 编码的。
对于单个字符串Python 提供了 ord()
函数获取字符的整数表示,chr()
函数把编码串换为对应的字符:
函数
ord()
获取打个字符的数字表示
函数chr()
将编码转化为对应的字符
在python 中如果知道字符的整数编码,还可以用十六进制这些么str
:
>>> '\u4e2d\u6587'
'中文'
这两种写法完全相同。
Python的字符串类型是str
,在内存中已unicode
表示,一个字符对应若干个字节。如果要在网络上传输,或者保存到磁盘上,就需要把str变为以字节为单位的bytes。
python 对bytes 类型的数据用带b前缀的单引号或者双引号表示:
x = b'ABC'
要注意区分’ABC’ 和 b’ABC’,前者是str,后者虽然内容显得和前者一样,但是bytes 的每个字符都只占用一个字节。
print(b'zhongwen'.__sizeof__())
#25
print('zhongwen'.__sizeof__())
#33
- 字符串与编码
- 字符串与编码
- 字符串与编码
- MD5与字符串编码
- Python:编码与字符串
- Python字符串与编码
- 字符串与编码
- 字符串编码与Python 3编码
- 字符串编码与Python 3编码
- php编码与字符串处理
- 字符串与编码 汇总 概述
- 字符串与unicode编码互换
- python 字符串编码与解码
- 字符串的编码与解码
- PHP字符串--编码与转义
- python02-数据类型与字符串编码
- Java字符串编码与解码
- 字符串的(编码/加密)与(解码/解密)
- C十进制转二进制
- 最长子串
- php配置数据库连接机制
- 优先级调度:优先级高的任务先执行。
- 【洛谷 2296】寻找道路
- 字符串与编码
- 制作 OpenStack Windows 镜像
- 百度前端学院任务:听指令的小方块的实现
- 解决 Windows instance 时间不同步问题
- cloudbase-init 自动扩盘的副作用
- 定制 cloud-init
- 图像的边缘检测
- layers-apache.shiro
- 图灵机器人APP