数据存储格式:bytes和编码转换"/>
python——节省内存空间的数据存储格式:bytes和编码转换
最近在使用基于python的单片机pyboard,所以会考虑到单片机内存的问题,希望使用一种可以节省内存空间的数据存储格式,所以进行了相关的研究。
文章目录
- python内置函数`__sizeof__()`
- python可用的内置编码格式
- 对比结果
- 结论
python内置函数__sizeof__()
通过__sizeof__()
可以对变量的内存进行检查,将不同的编码格式的内存情况打印出,对比得出较好的编码格式。
该方法返回给定对象所占用的内部空间大小(以字节为单位)。
python可用的内置编码格式
直接转换为bytes形式:
- "utf-8"
- "gb2312"
转换为字节数组形式:
- bytearray
想要具体了解这几种编码格式的同学可以拉到文章最后的参考文章进行阅读了解。
对比结果
结论
- 字符串
可以发现,对于字符串来说,编码确实可以减小数据的内存大小。同时,gb2312
编码格式可以减少更多的内存占用,utf-8
其次,所以在pyb中可以使用gb2312格式对字符串进行编码传输,能够提高程序执行速度,降低内存占用。 - 数字
对于数字来说,python本身已经将内存占用压缩至最小了,无需优化。 - 列表、元组
在元组和列表中,元组更节省空间,在不需要改变成员变量的情况下,推荐使用元组进行数据传输。
参考文章:
- Python生成器对象:__sizeof __()
- Python3 中 bytes 和 string 之间的互相转换
- python bytes和bytearray、编码和解码
更多推荐
python——节省内存空间的数据存储格式:bytes和编码转换
发布评论