将编码的 GUID 转换为字符串格式
Convert Encoded GUID to String Format
我正在使用 Javascript 查询存储 GUID 的 Sqlite3 数据库。但是我无法将编码值转换为已知的 GUID 值。
当以字符串值形式查看时,原始格式的值显示为“�ո�+�A�I9���W”。但我知道真正的价值应该是 'ddb8d5b7-182b-419c-a449-1d391fb18757'.
我不知道从哪里开始确定合适的编码。
非常感谢
詹姆斯
根据 Mahmoud Al-Qudsi 的 blog post,从 Sqlite 中 UUID 的 16 字节 BLOB 表示到字符串表示的转换如下所示:
SELECT
substr(hguid, 7, 2) || substr(hguid, 5, 2)
|| substr(hguid, 3, 2) || substr(hguid, 1, 2) || '-'
|| substr(hguid, 11, 2) || substr(hguid, 9, 2) || '-'
|| substr(hguid, 15, 2) || substr(hguid, 13, 2) || '-'
|| substr(hguid, 17, 4) || '-'
|| substr(hguid, 21, 12)
AS guid
FROM (SELECT hex(guid) AS hguid FROM messages)
我正在使用 Javascript 查询存储 GUID 的 Sqlite3 数据库。但是我无法将编码值转换为已知的 GUID 值。
当以字符串值形式查看时,原始格式的值显示为“�ո�+�A�I9���W”。但我知道真正的价值应该是 'ddb8d5b7-182b-419c-a449-1d391fb18757'.
我不知道从哪里开始确定合适的编码。
非常感谢 詹姆斯
根据 Mahmoud Al-Qudsi 的 blog post,从 Sqlite 中 UUID 的 16 字节 BLOB 表示到字符串表示的转换如下所示:
SELECT
substr(hguid, 7, 2) || substr(hguid, 5, 2)
|| substr(hguid, 3, 2) || substr(hguid, 1, 2) || '-'
|| substr(hguid, 11, 2) || substr(hguid, 9, 2) || '-'
|| substr(hguid, 15, 2) || substr(hguid, 13, 2) || '-'
|| substr(hguid, 17, 4) || '-'
|| substr(hguid, 21, 12)
AS guid
FROM (SELECT hex(guid) AS hguid FROM messages)