La lunghezza di una stringa varia in base alla metrica usata: unità di codifica UTF-8, UTF-16, punti codice UTF-32 o cluster di grafemi estesi.
JavaScript, Python, Rust e Swift usano approcci diversi: .length in JS conta unità UTF-16, Python 3 conta scalar values, Rust .len() conta byte UTF-8, Swift .count conta cluster di grafemi.
Il conteggio delle unità di codifica native (UTF-8 o UTF-16) è sempre conosciuto al momento della creazione della stringa per l’allocazione di memoria.
Le misure come i cluster di grafemi estesi dipendono dalla versione del database Unicode e richiedono calcoli più complessi.
Non esiste una misura di lunghezza di stringa perfettamente equa per tutte le lingue, perché la densità informativa varia tra gli alfabeti e gli script.
Per imporre limiti di caratteri (es. tweet), il conteggio dei punti codice Unicode è più equo del conteggio di byte, ma comunque resta arbitrario.
La stima dello spazio di visualizzazione richiede algoritmi tipografici specifici o regole come l’East Asian Width, che non coprono tutti i casi.
Get notified when new stories are published for "Hacker News 🇮🇹 Italiano"