convert()

一个用于转换 bytea 字符串编码的函数

convert() 是一个系统函数,用于转换 bytea 字符串在不同编码之间的文本。

convert() 添加于 PostgreSQL 7.2

用法

convert ( bytes bytea, src_encoding name, dest_encoding name ) → bytea

如果提供的编码不兼容,或者字符串包含源编码无效的字节序列,则会引发一个 ERROR 错误。

convert_from()convert_to() 提供相同的功能,并且如果源或目标字符串的编码与当前数据库的编码匹配,则无需指定它们的编码。

变更历史

示例

在编码之间转换单个字符

postgres=# SELECT 'ä'::bytea, convert('ä'::bytea, 'UTF8', 'LATIN1');
 bytea  | convert 
--------+---------
 \xc3a4 | \xe4
(1 row)

尝试在不兼容的编码之间执行转换

postgres=# SELECT convert('ほげほげ'::bytea, 'UTF-8', 'LATIN1');
ERROR:  character with byte sequence 0xe3 0x81 0xbb in encoding "UTF8" has no equivalent in encoding "LATIN1"

尝试执行转换,但提供的字符串包含源编码无效的字节序列

postgres=# SELECT convert(E'\\xDEADBEEF', 'UTF8', 'LATIN1');
ERROR:  invalid byte sequence for encoding "UTF8": 0xbe

分类

bytea, 区域设置和字符集处理, 字符串操作, 系统函数

另请参阅

convert_from(), convert_to()

反馈

提交关于“convert()”的任何评论、建议或更正 请在此处