加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

PostgreSQL UTF-8二进制排序规则

发布时间:2020-12-13 16:15:11 所属栏目:百科 来源:网络整理
导读:无论Unicode标准中的字符映射如何,我都希望有一个排序规则,它将0x1234的UTF-8编码命令为0x1235以下. MySQL使用utf8_bin. MSSQL显然 http://msdn.microsoft.com/en-us/library/ms143350.aspx有BIN和BIN2排序规则.虽然发现这些很容易,但我甚至找不到一个排序列
无论Unicode标准中的字符映射如何,我都希望有一个排序规则,它将0x1234的UTF-8编码命令为0x1235以下. MySQL使用utf8_bin. MSSQL显然 http://msdn.microsoft.com/en-us/library/ms143350.aspx有BIN和BIN2排序规则.虽然发现这些很容易,但我甚至找不到一个排序列表PostgreSQL支持这个具体问题的答案要少得多.
C语言环境可以. UTF-8的设计使得字节排序也是代码点排序.这不是微不足道的,但请考虑UTF-8的工作原理:
Number range  Byte 1   Byte 2   Byte 3
0000-007F     0xxxxxxx
0080-07FF     110xxxxx 10xxxxxx
0800-FFFF     1110xxxx 10xxxxxx 10xxxxxx

在对二进制数据(即C语言环境)进行排序时,第一个不相等的字节将会确定.我们需要看到,如果编码为UTF-8的两个数字不同,那么第一个非相等字节对于较低值将会更低.如果数字在不同的范围内,那么对于较低的数字,第一个字节确实会更低.在相同的范围内,顺序由与没有编码的字面相同的位确定.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读