首页
学习
活动
专区
工具
TVP
发布

Pythonx00 和空字符串的区别,以及在 Django 中的坑

Python 中 \x00 和空字符串的区别,以及在 Django 中的坑 事情是这样的,我有一个守护进程,不停地从 RabbitMQ 消费数据,然后保存到 MySQL。...再回过头来看提示我为空的那个字段的值,其中的确有不可见字符 \x00。 到这里,这个问题也就明确了,那怎么解决呢?其实很简单,在后台保存数据时,直接将 \x00 替换掉成空就可以了。...问题是解决了,但是 \x00 和空有什么区别呢?这就又涉及到 Python 的编码问题了。...虽然两者都是空,但在很多方面都不相同,下面用一段简单的代码来表现一下: >>> a = '\x00' >>> b = '' >>> >>> print(a) >>> print(b) >>> a =...>>> len(a) 1 >>> len(b) 0 >>> print('hello\x00world') helloworld >>> a = 'hello\x00world' >>> if '\x00

2.5K10
您找到你想要的搜索结果了吗?
是的
没有找到

Python 二进制结构化数据处理和封装

python 需要调用 C 程序,或是进行文件、网络操作时,需要对二进制结构化字节流进行处理,此时需要使用到 struct 这个模块提供的方法。...详细方法可以查看 官方教程,这里以 perl 的 pack 作为对比,使用 python 实现类似 perl 数据打包的效果。...在 perl 的 pack 方法中,提供了一种 Z* 的写法,可以总是保证最后有一位空填充,在 python 中则可以这样实现: # 类比 perl 的 pack "VVVVZ*", $max, 0,...参考文献# struct — 将字节串解读为打包的二进制数据 By Python pack TEMPLATE,LIST By Perl Perl pack用法及代码示例 Python使用struct处理二进制...Python中struct.pack()和struct.unpack()用法详细说明 注:本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。

9830

python网络-TFTP客户端开发(25)

五、struct.pack()和struct.unpack()说明 python中的struct主要是用来处理C结构数据的,读入时先转换为Python的字符串类型,然后再转换为Python的结构化类型,...格式字符串(format string)由一个或多个格式字符(format characters)组成,对于这些格式字符的描述参照Python manual如下: ?...ihb", buffer)) 运行结果为: b'\x01\x00\x00\x00\x02\x00\x03' b'\x01\x00\x00\x00\x02\x00\x03' (1, 2, 3) -----...------------------------------ b'\x00\x00\x00\x01\x00\x02\x03' b'\x00\x00\x00\x01\x00\x02\x03' (1, 2,...3) 首先将参数1,2,3打包,打包前1,2,3明显属于python数据类型中的integer,pack后就变成了C结构的二进制串,转成 python的string类型来显示就是'\x01\x00\x00

2.2K10
领券