/** *Returnthecode-point-awarelengthofthestring,adjustingonlyfor *CJKExtensionB+surrogatepairs.Fortextwithoutsuchcharacters *(thevastmajorityofinputs)thisreturns`text.length`unchanged.
*/ function countCodePoints(text: string, nonLatinCount: number): number { if (nonLatinCount === 0) { return text.length;
} // Count only CJK-range surrogate pairs — each occupies 2 UTF-16 units // but represents 1 code point (and 1 regex match in NON_LATIN_RE). const cjkSurrogates = (text.match(CJK_SURROGATE_HIGH_RE) ?? []).length; return text.length - cjkSurrogates;
}
/** *Estimatethenumberoftokensfromarawcharactercount. * *Foramoreaccurateestimatewhenthesourcetextisavailable,prefer *`estimateStringChars(text)/CHARS_PER_TOKEN_ESTIMATE`instead.
*/
export function estimateTokensFromChars(chars: number): number { return Math.ceil(Math.max(0, chars) / CHARS_PER_TOKEN_ESTIMATE);
}
Messung V0.5 in Prozent
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.1Bemerkung:
(vorverarbeitet am 2026-06-10)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.