小编Ami*_*mit的帖子

使用 PostgreSQL 8.4,如何在 postgres 中将 bytea 转换为文本值?

在我的应用程序中,我使用 C 代码在数据库中插入数据,因为我从不受信任的来源收到的字符串我已经使用PQescapeByteaConnlibpq 库对它们进行了转义。哪个工作得很好,即结果为八位字节格式字符串。看下面的例子,

输入字符串: \n\t\f\b\p\k\j\l\mestPrepared

输出字符串: \\012\\011\\014\\010pkjlmestPrepared

输出字符串被插入到数据库中。现在,我使用 JDBC 从 Java 代码中的数据库中检索该数据。如何将字符串转义回其原始值?

我想到了两种可能的方法,

  1. 更改数据库检索查询并将此字段传递给 postgres 的任何字符串操作函数,即可以将 bytea 转换为文本。
  2. 在Java代码中进行解码。

我可以理解方法 1 会更有效。我已经尝试了这里列出的几乎所有功能但没有任何效果。请帮忙!!

我在 linux 机器上使用 8.4 版的 postgres。

postgresql encoding postgresql-8.4 string bytea

25
推荐指数
3
解决办法
8万
查看次数

标签 统计

bytea ×1

encoding ×1

postgresql ×1

postgresql-8.4 ×1

string ×1