Track
/
Tcl
Tcl
/
Esercizi
/
Micro blog
Micro blog

Micro blog

Facile

Istruzioni

Hai individuato una lacuna nel mercato dei social media per i post molto molto brevi. Ora che Twitter consente post da 280 caratteri, le persone che vogliono aggiornamenti rapidi sui social media restano insoddisfatte. Decidi di creare il tuo social network.

Per rendere il tuo prodotto degno di nota, lo rendi estremo e consenti solo post di 5 caratteri o meno. I post di più di 5 caratteri devono essere troncati a 5.

Per consentire ai tuoi utenti di esprimersi appieno, consenti le emoji e altri caratteri Unicode.

Il compito è troncare le stringhe di input a 5 caratteri.

Codifiche del testo

Il testo memorizzato in formato digitale deve essere convertito in una serie di byte. Esistono 3 modi di uso comune per mappare i caratteri ai byte.

  • ASCII può codificare i caratteri della lingua inglese. Tutti i caratteri sono esattamente lunghi 1 byte.
  • UTF-8 è una codifica di testo Unicode. I caratteri occupano tra 1 e 4 byte.
  • UTF-16 è una codifica di testo Unicode. I caratteri sono lunghi 2 o 4 byte.

UTF-8 e UTF-16 sono entrambe codifiche Unicode, il che significa che sono in grado di rappresentare una vastissima gamma di caratteri, tra cui:

  • Testo nella maggior parte delle lingue e dei sistemi di scrittura del mondo
  • Testo storico
  • Emoji

UTF-8 e UTF-16 sono entrambe codifiche a lunghezza variabile, il che significa che caratteri diversi occupano quantità di spazio diverse.

Considera la lettera «a» e l'emoji «😛». In UTF-16 la lettera occupa 2 byte, mentre l'emoji ne occupa 4.

Il trucco di questo esercizio è usare le API pensate per i caratteri Unicode (i punti di codice) invece che per le unità di codice Unicode.

Note su Unicode in Tcl

Nella versione 8.1, le stringhe di Tcl riuscivano a gestire i caratteri Unicode senza problemi. All'epoca, era piuttosto innovativo. Tuttavia, man mano che venivano creati sempre più caratteri Unicode, la capacità di Tcl di gestirli non è riuscita a tenere il passo.

L'implementazione interna di Tcl poteva gestire solo caratteri Unicode a 16 bit, una copertura limitata ai primi 65.526 caratteri. Questa pagina wiki di Tcl, in particolare la discussione sul linguaggio «AndroWish», ne spiega le ragioni.

Tcl 9.0 è la prima versione in grado di gestire il set completo di caratteri Unicode. Di conseguenza, questo esercizio si risolve (facilmente) solo con la versione 9.0 di Tcl.

Modifica tramite GitHub Il link si apre in una nuova finestra o scheda
Tcl Exercism

Vuoi iniziare Micro blog?

Iscriviti a Exercism per imparare e padroneggiare Tcl con 135 esercizi e il mentoring di persone reali, tutto gratis.