Poiché il set di caratteri latin-1 (ovvero ISO-8859-1) è incorporato nel set di caratteri Unicode come i suoi 256 punti di codice più bassi, mi aspetto che il la conversione è banale, ma non ho visto alcuna funzione di conversione di codifica latin-1 in Data.Text.Encoding
che contiene solo funzioni di conversione per le codifiche UTF comuni.Conversione tra Latin1-encoded Data.ByteString e Data.Text
Qual è il modo consigliato e/o efficace per convertire tra valori Data.ByteString
codificati in rappresentazione latin-1 e valori Data.Text
?
A proposito, l'ipotesi che "poiché il set di caratteri latin-1 è incorporato nel set di caratteri Unicode come i suoi 256 punti di codice più bassi, mi aspetterei che la conversione sia banale" è ingiustificato. Non c'è motivo di aspettarsi che i bytest risultanti dalla codifica di un singolo stream di codice sorgente in due codifiche differenti debbano avere una relazione banale tra loro. –
@DanielWagner: Sì, sono consapevole che nel caso generale non dovrei aspettarmelo (per esempio se 'Data.Text' usava utf8 come rappresentazione Unicode interna), ma la versione corrente di' Data.Text' libreria usa la rappresentazione UTF16, per cui la conversione da latin1 è in realtà una conversione banale che consiste nell'inserire zero ottetti prima o dopo (a seconda che UTF16LE o UTF16BE sia richiesto) ogni ottetto latin1. – hvr