Stefan Ram wrote:
> tets <te...@yahoo.invalid> writes:
>> Perché la funzione "fromCodePoint" non stampa alcuni codici?
>
> Questa funzione non è mai stata pensata per stampare qualcosa.
intendevo in senso lato output, per come lo intende anche la web console
quando usa il comando print
>
>> 119965
>
> |>typeof( String.fromCodePoint( 119965 ))
> |<"string"
>
> |>String.fromCodePoint( 119965 ).length
> |<2
>
> Questo mostra che il valore «String.fromCodePoint( 119965 )»
> ha due elementi. Possiamo ispezionarli.
sono due elementi perché è un codice maggiore di 65535 e viene reso in
due bytes.
>
> |>typeof( String.fromCodePoint( 119965 )[ 0 ])
> |<"string"
>
> |>String.fromCodePoint( 119965 )[ 0 ]
> |<"\ud835"
>
> |>String.fromCodePoint( 119965 )[ 1 ]
> |<"\udc9d"
>
> Se un tentativo di emettere (stampare) un punto di codice
> fallisce, può essere perché non c'è nessun carattere associato
> a questo punto di codice o perché il sistema di uscita
> (la stampante) non può emettere correttamente quel carattere.
>
Non è convincente come risposta e la domanda rimane, perché non vedo il
motivo per cui il carattere:
- String.fromCodePoint( 119964 ) stampa la "A"
- String.fromCodePoint( 119966 ) stampa la "C"
mentre quello che sta in mezzo:
- String.fromCodePoint( 119965 ) invece di stampare la "B" stampa solo
il suo codice esadecimale 01d49d
Insomma quel carattere "B" non si può stampare.