Punycode: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Addbot (discussione | contributi)
m migrazione di 13 interwiki links su Wikidata - d:q1147521
i forestierismi non hanno plurale!
Riga 21:
* Vi sono alcuni caratteri che, oltre ad avere un proprio valore numerico, segnano allo stesso tempo la fine del delta (e l'eventuale inizio di un altro)
** il numero dei caratteri che possono fungere da marcatori varia durante l'[[algoritmo]] ed in ogni caso comprendono tutti i caratteri con valore minore di uno dato.
** la presenza di tali caratteri si riflette nel motivo per cui il peso di una data cifra non sarà data semplicemente dalla formula base^n, ma a volte alla [[base numerica|base]] occorre sottrarre i cosiddetti thresholdsthreshold, ovverosia il numero di possibili marcatori di fine delta.
 
Inoltre, cosa più importante, il delta rappresenta contemporaneamente sia il codice unicode da inserire all'interno della stringa ascii che la sua posizione.
Riga 30:
In pratica, dato un certo delta, dividendolo per la lunghezza della stringa base +1, si ottiene come resto la posizione in cui inserire il carattere unicode (posizione che varia da 0 (inizio) a L (fine)), e come quoziente lo scostamento del valore unicode rispetto a un valore base (fissato inizialmente, per comodità, a 128).
 
===ThresholdsThreshold===
I thresholdsthreshold sono calcolati [[digit]] per digit e rappresentano all'interno di ognuno di questi il numero di possibili caratteri-segnalatori della fine del delta, a partire da quello con valore più basso, la 'a' appunto. In particolare per calcolare il threshold di un singolo digit si avrà la formula:
t(j)=base*(j+1)-bias
 
Riga 38:
Per raggiungere tale scopo, se per qualche motivo t(j) scende sotto tmin, viene posto t(j)=tmin e se t(j) va sopra tmax verrà posto t(j)=tmax
 
Essendo inoltre i caratteri definiti dai thresholdsthreshold dei segnalatori, essi influenzano indirettamente anche il peso di ogni digit, calcolato con la seguente formula:
*w(0)=1 (peso del primo digit)
*w(j)=w(j-1)*(base-t(j-1)) (per j>0)