我有两个应用程序一个是用php编写的,一个是用python编写的,它们都使用相同的mysql数据库。你知道吗
对于某些表中条目的public id,我使用了binary(16)字段(我不能更改它,它必须保持这种方式)。你知道吗
问题是python如何转换这个二进制字段?你知道吗
让我们以其中一个条目为例。你知道吗
当我在php中(从db中)得到它时,public id的值是°•WiCÄ'õ0Iò|–g,相同的值显示在sequepro中。但是php myAdmin对二进制字段执行十六进制函数,并显示0bb09557691443c491f53049f27c9667。现在我在php中成功地将二进制文件转换为php myAdmin中显示的值,它可以用于所有条目,但我刚刚注意到python进行了另一个转换。当我通过python获取本例中使用的条目时,public id是owwweye1rjnvt3i1d0ib18x3。你知道吗
我需要实现的是在php中将我从MySql获得的东西转换成python所看到的东西:owwweey1rjnvt3i1d0ib18x3。php应用程序对python应用程序(不是我开发的)进行调用,因此成功调用的id格式必须相同。你知道吗
欢迎任何建议。谢谢。你知道吗
编辑:如果我把°•WiCÄ0Iò|–g从php发送到python,然后直接打印出来,我得到:
我终于解决了这个问题。你知道吗
似乎python转换为base36,而不是我错误地认为的hex。你知道吗
我试着简单地把16岁的孩子转换成36岁的孩子,但是我得到了一个很好的答案。这并不是我真正需要的,但它开始看起来像是一个很大的进步。你知道吗
我认为出现这种差异是因为要转换的值太大(精度损失),所以我进一步研究并找到了bellow函数,它是Clifford dot ct在gmail.com上写的php.net网址:
我不认为其他人会经常遇到这个问题,但如果真的发生了,希望他们会发现这一点,而不是像我一样绞尽脑汁:))
相关问题 更多 >
编程相关推荐