gpt4 book ai didi

c# - 在 PHP 中编码和解码二进制 guid

转载 作者:行者123 更新时间:2023-11-29 03:43:50 29 4
gpt4 key购买 nike

我有一个 C# .NET 3.5 应用程序,它使用 ADO.NET Driver for MySQL (Connector/NET)。它将 Guid.NewGuid() 作为 BINARY(16) 存储在 MySQL 数据库中。

我有另一个使用 PHP 5.3.4 的应用程序,它需要能够将该二进制值读取为 GUID 字符串并将 GUID 字符串编码为相同的 16 字节二进制值。

作为一个例子,我希望能够在这两个东西之间进行转换:

GUID string: E241346C-504F-4BE5-BDF3-1B8274815597
BINARY(16): 65 32 34 31 33 34 36 63 2d 35 30 34 66 2d 34 62

我如何在 PHP 中执行此操作?

最佳答案

问题是该字段是 BINARY(16),但 My SQL 连接器试图在其中存储 CHAR(36)。 (他们改变了 GUID 在 v6.1.1 中的格式化方式)因此,我的 GUID 的最后 20 个字节被悄无声息地截断了。 (我不知道为什么连接器没有抛出异常。)

一旦我更改数据库以将 GUID 存储为 CHAR(36),它就可以正常工作。或者,我可以在我的连接字符串中使用 oldguids=true 元素。

关于c# - 在 PHP 中编码和解码二进制 guid,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9507314/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com