2014-05-20 12 views
12

La libreria textuses utf-16 internally. utf-8 è una codifica più comunemente usata, specialmente nelle librerie C. Inoltre, utf-8 utilizza meno memoria la maggior parte del tempo. Perché lo text utilizza utf-16?Perché il testo utf-16 in contrapposizione a utf-8

+4

TL; DR: negli anni '90 UCS-2 sembrava una buona idea poiché era una codifica a lunghezza fissa, Unicode troppo male espanso, UCS-2 diventato UTF-16 e ora siamo bloccati la peggiore codifica di sempre in molti software. –

+1

Unicode 2.0, la versione che ha introdotto le coppie surrogate, è del 1996, e secondo https://hackage.haskell.org/package/text-0.1, la prima versione del testo è stata rilasciata nel 2009 ... questo esclude l'idea che il testo sia iniziato come ucs-2 ... a meno che non sbagli e la libreria di testo abbia una storia precedente a quella in hackage (ancora, ho usato Haskell solo dopo il 2009, quindi non ho idea di come erano allora) – berdario

+1

'text' potrebbe essere esistito, ma non ancora ospitato su Hackage. –

risposta

21

C'era un progetto per convertire text in utf8 internamente, perché questo è irrilevante per l'API che fornisce. Dopo aver completato abbastanza punti di riferimento, il progetto non è stato considerato un miglioramento e non è stato integrato con la linea principale in questo momento. C'è una possibilità che sarà in futuro, se può diventare un miglioramento sufficiente. Ecco la storia completa: http://jaspervdj.be/posts/2011-08-19-text-utf8-the-aftermath.html

Problemi correlati