Domanda

Trovo che ottenere il supporto Unicode nelle mie app multipiattaforma sia una vera seccatura.

Ho bisogno di stringhe che possano andare dal codice C, a un database, a un'applicazione Java e a un modulo Perl.Ognuno di questi utilizza una diversa codifica Unicode (UTF8, UTF16) o qualche altra tabella codici.La cosa più importante di cui ho bisogno è un modo multipiattaforma per eseguire conversioni.

Che tipo di strumenti, librerie o tecniche utilizzano le persone per semplificare la gestione di queste cose?

È stato utile?

Soluzione

Dai un'occhiata a questo: http://www.icu-project.org/

Altri suggerimenti

Perl sì Codificare come libreria standard.Può essere utilizzato per leggere/scrivere qualsiasi codifica desiderata, quindi non sarà un problema.

Come stai andando con le chiamate multipiattaforma?Viene tutto chiamato da Java?

http://java.sun.com/docs/books/tutorial/i18n/text/string.html potrebbe essere utile.

Sono un po' confuso su cosa esattamente stai cercando di fare.Il database è essenzialmente l'interfaccia tra tutto il codice?Quindi dovrebbe essere semplice: basta creare il DB UTF-8 e ciascuno dei client dovrà eseguire le proprie conversioni.

Sembra un problema interessante, potresti condividere qualche dettaglio in più?

Bene, immagino che iconv sia sufficiente per le tue esigenze.Iconv dovrebbe essere disponibile su qualsiasi sistema POSIX per impostazione predefinita (quelli includono (GNU/)Linux, *BSD, Mac OS X...).Su Windows AFAIK richiede una libreria separata ma:

  1. puoi semplicemente installarlo/raggrupparlo con il tuo software/compilarlo statico.(libiconv per Windows).(Immagino che consiglierei di raggrupparlo).
  2. È possibile utilizzare alcune chiamate native di Windows come caso speciale.

Ovviamente se stai usando Java lo ha integrato, ma vedo che potrebbe non essere quello che desideri (le chiamate JNI sono costose).

PS.Non puoi impostare Perl su una codifica specifica?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top