gpt4 book ai didi

sqlite - 使用 SQLite 将十六进制转换为文本

转载 作者:行者123 更新时间:2023-12-03 16:51:32 45 4
gpt4 key购买 nike

我正在尝试使用纯 SQLite 语言将表示十六进制数据的字符串转换为十六进制数据的文本编码(ASCII、UTF-8 等)。基本上我想要 X'[hex]' 的功能语法,但应用于以编程方式派生的十六进制字符串。

例如,我想要 select X(hex_data_string) from ... , 这不是合法的 SQLite 语法。

显然在上面的片段中,如果数据不是有效的文本编码,我不一定能够输出数据。也就是说,如果 hex_data_string包含控制字符等,X()应该以某种方式失败。如果这是可能的,则必须有默认字符编码或必须以某种方式指定所需的字符编码。

我不是在问如何从 SQLite 数据库中检索十六进制数据字符串值,然后使用 C 或其他一些工具来转换它。我试图在纯 SQLite 中执行此转换,因为我有查询,我检查哪些返回表示二进制数据的十六进制字符的文本表示。大多数二进制数据是 ASCII,因此我希望能够在适用时快速查看查询输出中的二进制数据内容。

直觉上,我认为这可以通过将十六进制数据字符串转换为 blob 并使用 hex() 来实现。但这仍然返回十六进制数据字符串。

有任何想法吗?

可能的重复:

SQLite X'...' notation with column data

sqlite char, ascii function

最佳答案

这已经很老了,但我一直在寻找同样的东西,所以我想我会发布:

似乎您可以将十六进制数据转换为 varchar 以将其转换为 ascii。

IE:select cast(data as varchar) from some_table将返回二进制字段(数据)的字符串表示。

关于sqlite - 使用 SQLite 将十六进制转换为文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15366594/

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