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

标签 postgresql byte ascii bytea

我们希望在 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]) 只返回第一个字母的 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代码点。

关于postgresql - 从 PostgreSQL 中的文本字段获取 ascii 字节,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35324037/

相关文章:

sql - 添加 WHERE 约束后,Postgresql 查询速度莫名其妙地变慢

postgresql - 是否有多字节感知的 Postgresql Levenshtein?

python - 写入二进制文件时 file.seek() 和 file.write() 问题

c++ - 如何在 C++ 中使用字符的 ascii 代码创建 std::wstring?

delphi - Lazarus Free Pascal/Delphi - 运行错误 211

javascript - 在 nodejs 中的 postgres 中保存记录之前,对象 js 模型字段数据 trim

java - 为什么Java要进行字节码校验?

Java 简单的 boolean[] 到 byte 的转换

java - 如何将 ASCII 转换为字符串

ascii - Ada 中将字符串转换为 ascii