PostgreSQL UTF-8二进制排序规则

PostgreSQL UTF-8二进制排序规则,第1张

概述无论Unicode标准中的字符映射如何,我都希望有一个排序规则,它将0x1234的UTF-8编码命令为0x1235以下. MySQL使用utf8_bin. MSSQL显然 http://msdn.microsoft.com/en-us/library/ms143350.aspx有BIN和BIN2排序规则.虽然发现这些很容易,但我甚至找不到一个排序列表PostgreSQL支持这个具体问题的答案要少得 无论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 30000-007F     0xxxxxxx0080-07FF     110xxxxx 10xxxxxx0800-FFFF     1110xxxx 10xxxxxx 10xxxxxx

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

总结

以上是内存溢出为你收集整理的PostgreSQL UTF-8二进制排序规则全部内容,希望文章能够帮你解决PostgreSQL UTF-8二进制排序规则所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/1164851.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存