sqlite - Lightroom SQLite 数据库二进制 XMP 格式
问题描述
Lightroom 目录是一个 SQLite 数据库。一些元数据值存储在Adobe_AdditionalMetadata.XMP
BLOB 数据类型的列下。
当我保存这个 blob 时,它是一些二进制文件,我不知道如何转换为可编辑表单。
根据文档,xmp 文件具有 XML 格式
这是我数据库中此类 blob 的示例
解决方案
我在 Lightroom 论坛上被告知,此类列使用非标准 SQLite 压缩模块。
这是使用非标准压缩模块重新编译的 SQLite Windows 二进制文件的链接:https ://drive.google.com/file/d/1EuSB8SrOA2nAhwTqjI3V1xK44IyxI9gt/view?usp=sharing
它可以提取xmp属性
select uncompress(xmp) from Adobe_AdditionalMetadata where id_local = 4539794;
但还不能写回来。
update Adobe_AdditionalMetadata
set xmp = compress('some valid xmp string value')
where id_local = 4539794;
它成功执行,但您将无法使用uncompress()
函数读回它。
那是因为上面链接中的库只修复了uncompress()
功能。我也在努力修复这个compress()
功能
推荐阅读
- tensorflow - 如何访问嵌入以进行三元组损失
- powershell - 不区分大小写 [Linq.Enumerable]::SequenceEqual()
- javascript - 如何更改代码以使其适用于多个实例
- node.js - 批量发送消息
- python - 如何使用 Pygame 计算鼠标速度?
- heroku - 应用程序在 1~2 分钟后关闭
- acumatica - Acumatica - 生产屏幕的访问权限问题
- java - 在 java 代码中,我如何检查 jdk 版本以在 java 代码下编译?
- javascript - 单击图标时如何弹出导航栏
- html - CSS 不工作任何人都可以调试我的代码吗?