【发布时间】:2016-03-31 20:50:07
【问题描述】:
我已将一个字符串从数据库导入 R。 db 列类型是BYTEA (Postgres)。为了让我按预期使用它,它应该是raw 类型。相反,它是character 类型。我想在以下意义上将其转换为原始:
字符串表示是
\x1f8b080000000000
如果我使用charToRaw,则转换为数组
5c 78 31 66 38 62 30 38
我需要它作为数组
1f 8b 08 00 00 00 00 00
我如何实现这一点。
编辑 #1 回复 Chris
library(RPostgreSQL)
conn <- dbConnect(dbDriver("PostgreSQL"), dbname = "somename",
host = "1.2.3.4", port = 5432,
user = "someuser", password = pw)
some_value <- dbGetQuery(conn, "select value from schema.key_value where key like '%somekey%' limit 1")
some_value$value
# [1] "\\x1f8b080000000000000
【问题讨论】:
-
你能分享你用来从数据库导入的代码吗?
-
可能在 Postgres 中转换为字符串,然后在 R 中返回
charToRaw?更好的方法是在 Postgres 中直接转换为 raw,但不确定是否可行 -
尝试
select convert_to(value::text, 'utf-8') as value from schema.key_value ...然后charToRaw()没有成功。虽然勇敢的努力。
标签: r postgresql encoding