码迷,mamicode.com
首页 > 编程语言 > 详细

python中理解编码

时间:2020-05-01 18:41:15      阅读:82      评论:0      收藏:0      [点我收藏+]

标签:byte   存储   bit   一个   字符串   arm   stand   type   进制   

ASCII 美国信息交换标准码 (American Standard Code for Information Interchange)

字符 编码后(十进制)
a 97
A 65
0 48

 

 

 

 

 

Unicode  万国码   一个字符 占4个字节  32bit位  

UTF-8  是针对Unicode的一种可变长度字符编码  对中文字符 一个字符占3个字节 24bit位

GBK  中国的 国标码  一个字符 占2个字节

 

python3 中的数据类型  布尔 bool 

          整型int  浮点型 float  复数complex (long型是python2中的)

                                     列表list  元组 tuple 字典dict   集合set

           字符串str  字节型bytes

python  对str类型的数据 在内存中统一存储为unicode编码形式

pycharm 软件编辑界面下  默认使用utf-8 进行了编码转换 展示到屏幕

技术图片

 

s1 = CH  # str类型的变量s1,接收两个英文字符,在内存中以unicode编码存储下来
b1 = bytes(CH, "utf-8")  # bytes类型的变量b1,接收bytes类型字符串,在内存中以utf-8编码存储下来
b2 = bCH
print(s1)  # 打印后 表现形式为 CH 其编码方式为unicode
print(b1)  # 打印后 表现形式为 b‘CH‘ 其编码方式为 utf-8
print(b2)  # 打印后 表现形式为 b‘CH‘ 其编码方式为 utf-8
s2 = 中国  # str类型的变量s2,接收两个两个中文字符,在内存中以unicode编码存储下来
b2 = bytes(中国, "utf-8")  # 内置函数bytes()的作用 本质是对字符进行unicode编码到其它编码的转换编码
b3 = s2.encode("utf-8")
# b4 = b‘中国‘  # python3不支持 python2可以?
print(s2)  # 打印后 表现形式为 中国 其编码方式为unicode
print(b2)  # 打印后 表现形式为 b‘\xe4\xb8\xad\xe5\x9b\xbd‘ 其编码方式为 utf-8
print(b3)  # 打印后 表现形式为 b‘\xe4\xb8\xad\xe5\x9b\xbd‘ 其编码方式为 utf-8

 

技术图片
s = alex
print("str类型:", s)
b1 = bytes(s, encoding=utf-8)  # 针对unicode编码的str类型的字符串,在内存中生成新的 utf-8编码的 bytes类型的字符串
print("bytes类型:", b1)
# b1[0] = 65  # TypeError: ‘bytes‘ object does not support item assignment
b2 = bytearray(s, encoding=utf-8)
print("改动前:", b2)
b2[0] = 65  # 可以将每个字节当成元素item,逐个改动, 即对内存中的内容按字节直接改变,内存中没有新增占用
print("改动后:", b2)

print("------------分割线-------------")
s1 = alex
print("原字符串", s1)
print("内存地址", id(s1))
s2 = s1.replace(a, A)  # 为实现改变,内存中 原字符串 + 新生成字符串
print("原字符串无变化", s1)
print("得到新字符串", s2)
print("内存地址", id(s2))
print("-------------------------")
View Code

 

python中理解编码

标签:byte   存储   bit   一个   字符串   arm   stand   type   进制   

原文地址:https://www.cnblogs.com/cherry2020/p/12814137.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!