十六进制文本字符串作为bytea插入PostgreSQL
技术问答
194 人阅读
|
0 人回复
|
2023-09-13
|
我有一个包含多个16进制字符串的文本文件:; }- L7 v% m7 N$ C( e
013d7d16d7ad4fefb61bd95b765c8ceb007687fc64b746569616414b78c81ef1我想把这些作为 BYtea (而不是 varchar) 存储在数据库中。换句话说,我希望数据库将01存储为单字节000001,而不是字符
( x3 c" e1 f% a3 `! D9 k# D; z0和 1。1 n. m. H( ]' I/ ~' L
我可以通过sed以任何必要的方式轻松化/转换本文件。
' i- n' h# k) d, H这是我试过的:9 S* Q4 k* J o
create table mytable (testcol BYTEA);这有效:4 N, T- a( Y+ e% Y5 ?) P. [" d }! [& g
insert into mytable (testcol) values (E'\x7f\x7f');但是,一旦我有一个高于\ x7f的字节,就会出现此错误:
' w" j5 Q. D7 E" |insert into mytable (testcol) values (E'\x7f\x80');ERROR: invalid byte sequence for encoding "UTF8": 0x80有什么想法,还是我处理错误的方法?
) v) A3 Q2 s# `3 y) m) K
% Y" S3 l6 g' \0 T9 u# M 解决方案: |
|
|
|
|
|