OOffsetIlex
Сценарии

Сценарии работы с кодом · Смещения границ UTF-16

03
Вокруг ваших задач

Конкретная отправная точка

Сопоставьте каждой границе кодовой точки текста длиной до 4096 символов смещение UTF-16. Проверьте эмодзи и комбинируемые знаки, отклоняя отдельные суррогаты без нормализации текста.

01

Откройте контекст

Выберите папку проекта и обозначьте нужные файлы или поведение.

02

Опишите изменение

Укажите входные данные, ожидаемый результат и границы, которые нужно сохранить.

03

Изучите работу

Проверьте предлагаемые изменения и команды, прежде чем полагаться на результат.

04

Проверьте результат

Сравните фактическое поведение с ожидаемым. Если проверка не проходит, разберитесь в причине перед следующими изменениями.

Смещения границ UTF-16

Конкретная отправная точка
def utf16_offsets(text):
    if type(text) is not str or len(text) > 4096:
        raise ValueError("bounded text")
    offsets = [0]
    for char in text:
        value = ord(char)
        if 0xD800 <= value <= 0xDFFF:
            raise ValueError("unpaired surrogate")
        offsets.append(offsets[-1] + (2 if value > 0xFFFF else 1))
    return offsets

Пример — отправная точка для реального проекта, а не утверждение, что сгенерированный код уже протестирован. Адаптируйте пути, зависимости и ожидаемое поведение к своему приложению.

Рабочая среда с ИИ для кода

Здесь начинается ваше следующее изменение.

Скачать для Windows ↗