You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何AppleScript仅读取到指定文件的前两个字符?

问题分析与解决办法
  • 核心问题:你读取的things-commit.db是SQLite数据库二进制文件,不是纯文本格式。用read as «class utf8»读取二进制文件时,一旦遇到UTF-8无法解析的非文本字节,读取操作会直接提前终止,只返回之前解析成功的少量内容(也就是你看到的前两个字符)。
  • 对应解决方式:
    1. 若要获取数据库里的内容,不要直接读取.db文件的原始字节,应该用SQLite相关工具或脚本执行查询操作。
    2. 只是想验证文件是否能完整读取的话,可改成以原始二进制格式读取,修改代码如下:
set unixPath to "/Volumes/2_TB_SSD_external/Projects_2TB/computers-and-geekery/projects and languages/Obsidian development/wealthyvault/bin/logs/things-commit.db"
-- 以二进制格式读取完整文件内容
set database_data to read POSIX file unixPath as «class RAW»
-- 返回数据长度验证是否读取完整
return length of database_data
  1. 若要操作Things的任务数据,建议用官方提供的导入工具或API,直接操作.db文件存在结构变更的风险。

内容的提问来源于stack exchange,提问作者Rich

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 13:28:14