Стабилизирован round_char_boundary — округление позиции внутри символа до границы UTF-8
30.08.2025Стабилизирован метод str::round_char_boundary: он округляет заданную позицию внутри строки до границы символа — вниз или вверх, в зависимости от направления округления.
Зачем это нужно
Строка UTF-8 — это последовательность байт, и символ занимает от одного до четырёх байт подряд. Обрезка по байтовому индексу может разрезать символ пополам, и результатом будет не строка, а неопределённость.
Стандартная библиотека даёт безопасный способ узнать размер символа, но не даёт способа привести произвольный индекс к корректному. Именно это и делает новый метод.
Где это встречается
Работа с частично прочитанными строками: буфер пришёл по сети, из него читают известное смещение, а остаток используют как строку. Без округления до границы символа такой остаток невалиден.
Также — вычисление отображаемой длины: сколько символов помещается в первые N байт.
Оригинал
str: Stabilize round_char_boundary feature
Упоминаний: 1 · Просмотров: 4