1

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

例子:

"table" = t:116*1 (1 为第一位置) + a:97*2(2 为第二位置) + b: 99*3 等等。

这样做select ascii([text field])只返回第一个字母的 ascii 字节。

4

1 回答 1

3

如果您只想要一个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 代码点。

于 2016-02-10T22:17:31.630 回答