从PostgreSQL中的文本字段获取ascii字节

从PostgreSQL中的文本字段获取ascii字节,postgresql,byte,ascii,bytea,Postgresql,Byte,Ascii,Bytea,我们希望在PostgreSQL中使用ascii将一个文本字段转换为字节 例如: “表”=t:116*1(1为第一位)+a:97*2(2为第二位 位置)+b:99*3等 执行选择ascii([文本字段])仅返回第一个字母的ascii字节 如果您只需要与字符串字节序列对应的bytea值,可以使用: SELECT convert_to('åbçd€','SQL_ASCII') 如果这不是您想要的,您可以将其转换为一组代码点,然后从那里开始,您可以使用它执行您想要的操作: SELECT ascii(c

我们希望在PostgreSQL中使用ascii将一个文本字段转换为字节

例如:

“表”=t:116*1(1为第一位)+a:97*2(2为第二位 位置)+b:99*3等


执行
选择ascii([文本字段])
仅返回第一个字母的ascii字节

如果您只需要与字符串字节序列对应的
bytea
值,可以使用:

SELECT convert_to('åbçd€','SQL_ASCII')
如果这不是您想要的,您可以将其转换为一组代码点,然后从那里开始,您可以使用它执行您想要的操作:

SELECT ascii(c) FROM regexp_split_to_table('åbçd€','') s(c)

请注意,它们处理非ASCII字符的方式非常不同。假设一个UTF8编码的数据库,
convert_to('å','SQL_ASCII')
将为您提供多个UTF8编码单元,而
ASCII('å')
返回一个Unicode码点。

我确实从我的_表中选择了name、regexp_split_to_to_array(name.),现在它看起来是这样的:{a、b、c、d、e}。是否可以进一步拆分,以便每个字母都有自己的行?我的答案中的查询(使用
regexp\u split\u to\u table()
)可以做到这一点