OOffsetIlex
AI-werkruimte voor code

UTF-16-grensposities

Koppel elke codepuntgrens in tekst van maximaal 4096 tekens aan de UTF-16-positie.

● ● ●OffsetIlex●
Werkprocessen · UTF-16-grensposities ×
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
✳Koppel elke codepuntgrens in tekst van maximaal 4096 tekens aan de UTF-16-positie.
✓ WijzigingenControleer vóór het toepassen ↗
Illustratie van de werkruimte
01

Modellen

Stel een OpenAI-compatibel of Anthropic-endpoint in met de basis-URL en zo nodig een API-sleutel. Test de verbinding. Een lokale modelserver moet actief zijn; externe hulpmiddelen kunnen apart gegevens versturen.

02

Project

Test emoji en combinatietekens en wijs losse surrogaten af zonder tekstnormalisatie.

03

Controleer vóór het toepassen

Vergelijk het werkelijke gedrag met het verwachte resultaat. Onderzoek een mislukte controle voordat je verdergaat met wijzigingen.

Werkprocessen

UTF-16-grensposities

Werkprocessen ↗
Werkprocessen
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
AI-werkruimte voor code

Stem tekstposities aan weerszijden van de editorgrens af

Een editorintegratie kan het verkeerde teken markeren, ook wanneer beide componenten dezelfde tekst hebben. Het verschil kan zitten in wat een positie telt. OffsetIlex biedt een AI-programmeeromgeving voor Windows om die grens te volgen tussen je brontekenreeksen en een API die een andere indexconventie verwacht.

Toon het verbonden model voor een UTF-16-offsettaak tekst met een teken buiten het Basic Multilingual Plane en de verwachte grensposities. Vraag het de conversiehulpfunctie en haar aanroeper samen te bekijken. Maak duidelijk of binnenkomende posities codepunten of code-eenheden tellen, want een hulpfunctie veranderen zonder de interpretatie aan te passen kan een nieuw verschil veroorzaken.

Beoordeel ongeldige tekst en gedrag aan het tekenreekseinde als onderdeel van dezelfde patch. Een grenstoewijzing moet zowel aan het einde als tussen tekens een vastgelegde betekenis hebben en de toepassing heeft een beleid voor niet-ondersteunde surrogaatinvoer nodig. Voer gerichte testgevallen door de werkelijke integratie uit en vergelijk de geselecteerde bereiken, niet alleen de arraylengte van de hulpfunctie.

OffsetIlex ondersteunt ingestelde OpenAI-compatibele of Anthropic-endpoints. Een beschikbaar AI-model zonder censuur kan helpen de broncode te onderzoeken, met contextcapaciteit en tools die de server bepaalt. Gebruik waar mogelijk representatieve synthetische tekst en beoordeel de voorgestelde bewerkingen aan de hand van het editor-API-contract voordat je ze behoudt.

Tekstposities over de editorgrens afstemmen — vragen vóór bewerking

Welke tekst toont een offsetverschil het best?

Gebruik een korte tekenreeks met gewone tekens en één teken dat door een UTF-16-surrogaatpaar wordt weergegeven. Markeer de verwachte grenzen expliciet. Zo wordt een verschil tussen codepunten en code-eenheden zichtbaar zonder een groot document.

Zijn grafeemposities hetzelfde als UTF-16-offsets?

Nee. Een door de gebruiker waargenomen teken kan meerdere codepunten bevatten, terwijl UTF-16 code-eenheden telt. Leg vast welke conventie elke component gebruikt. Vraag het model de werkelijke API-grens te volgen in plaats van die begrippen als uitwisselbaar te behandelen.

Waarom de laatste grens in een testgeval opnemen?

Selecties en invoegingen kunnen aan het einde van de tekenreeks eindigen. Controleer of de toewijzing die positie weergeeft en aanroepers haar consequent gebruiken. Alleen het eerste teken testen kan een integratiefout van één positie missen.

Hoe moet niet-ondersteunde surrogaatinvoer worden behandeld?

Kies een expliciet beleid dat past bij de hulpfunctie en haar gebruikers. De voorbeeldcontext weigert niet-ondersteunde surrogaatwaarden. Beoordeel dat weigeringspad en de reactie van de aanroeper in plaats van tekst stilzwijgend te vervangen tijdens offsetconversie.

Download voor Windows ↗

OffsetIlex · Bijgewerkt 2026-10-25