Supponiamo di avere una stringa arbitraria, s.Unicode - in genere funziona con C++
s ha la proprietà di essere da qualsiasi parte nel mondo. Persone provenienti da Stati Uniti, Giappone, Corea, Russia, Cina e Grecia scrivono tutte in s di volta in volta. Fortunatamente non abbiamo i viaggiatori del tempo che utilizzano la Linea A, tuttavia.
Per la amore di discussione, cerchiamo di presumere che vogliamo fare operazioni sulle stringhe come ad esempio:
- inverso
- lunghezza
- capitalizzare
- minuscolo indice
- in
e, solo perché questo è per il bene della discussione, cerchiamo di presumere vogliamo scrivere queste routine noi stessi (invece di afferrare una biblioteca), e non abbiamo alcun software legacy da mantenere.
Esistono 3 standard per Unicode: utf-8, utf-16 e utf-32, ciascuno con pro e contro. Ma diciamo che sono un po 'stupido, e voglio che un solo Unicode li domini tutti (perché rotolare una libreria ad adattamento dinamico per 3 diversi tipi di codifiche delle stringhe che nascondono la differenza rispetto all'API suona molto).
- Quale codifica è più generale?
- Quale codifica è supportata da wchar_t?
- Quale codifica è supportata dall'STL?
- Queste codifiche sono tutte (o non tutte) terminate da null?
-
Il punto della questione è quello di educare me stesso e gli altri in informazioni utili ed utilizzabili per Unicode: la lettura delle RFC va bene, ma c'è una 'pila' di informazioni relative ai compilatori, linguaggi e sistemi operativi che le RFC non coprono, ma è fondamentale sapere per utilizzare effettivamente Unicode in una vera app.
Non esattamente un dupe, ma anche leggere http://stackoverflow.com/questions/114611/questo-è-il-best-unicode-library-for-c –
@Martin: Non sono molto interessato - a questo tempo - qual è la migliore libreria. Sono più interessato a aggiornarmi con le informazioni su Unicode in generale e su come scrivere un reverse - o forse una routine più oscura - in Unicode e non farlo esplodere, per esempio, in Turchia. :-) –
sì, ecco perché non ho chiuso come dupe, ma qualcuno che trova questa domanda potrebbe essere interessato solo usando una libreria. Se questo thread ottiene buone risposte, lo incrocerò come riferimento nell'altro thread. –