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

Getting ascii bytes from text field in PostgreSQL

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

示例:

"table" = t:116*1 (1 being first position) + a:97*2(2 being second position) + b: 99*3, etc.

select ascii([text field]) returns 第一个字母的 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('å') returns 一个单一的 Unicode 代码点。