python打印内存地址_python打印内存的值

本文介绍了Python3中字符串(str)和字节串(bytes)的区别。字符串存储Unicode字符编号,而字节串存储编码后的值,通常默认使用utf8编码。通过实例展示了如何查看内存内容以区分两者。
摘要由CSDN通过智能技术生成

字符串和字符串编码是两个不同的概念,python作为一门优秀的编程语言中是做了严格的区分,即使用不同的class来表示,同时存储的内容也是不一样的。尽管在python2中区分的还不是特别的明显,但是在python3中是明确的使用str类表示字符串;bytes表示字节串,即可以用来存储字符串编码后的值,说明如下:

首先字符集和字符编码在ASCII,GB2312,GBK中往往混淆这两个概念,因为他们即是字符集也是字符编码,这是编码早期阶段遗留的问题;但是unicode字符集的庞大,使得其产生了诸多编码方式,包括utf8,utf16,utf32等多种编码方式,因此在unicode中需要明确字符集和编码的不同。通常来说,unicode指的是字符集,对应字符的编号;utf8指的是unicode对应的编码。关于utf8编码规则,我在这篇文中有详细的介绍;关于unicode的应用,我在这里有介绍,可以自行查看。

1,Python3中使用str类来表示和存储字符串,在一个具体的字符串对象中存储的内容是每个字符的编号,该编号就是字符集中赋予的。至于该编号使用几个字节来进行存储往往是不确定的,例如常用汉字的编号通常使用两个字节就可以表示编号。对于一些特殊的字符(比如音乐中的那些字符),往往需要更多的字节。这是python 内部的实现机制,不在过多的阐述,感兴趣的同学在学习完本文方法文后,自行研究尝试。

2,Python3中使用bytes类来表示和存储字符串的编码。由于unicode字符集对应的编码方式不止一个,包括utf8,ut16,utf32等等,python通常默认时使用utf8编码方式。因此

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值