Язык Си будет делать.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, отличаются, то первый неравный байт будет меньше для более низкого значения.Если числа находятся в разных диапазонах, то первый байт действительно будет меньше для нижнего числа.В том же диапазоне порядок определяется буквально теми же битами, что и без кодирования.