Domanda

Prima che qualcuno mi consiglia di fare una ricerca su Google, ho. Ho solo bisogno di un po 'più di chiarezza su quali codici e codifiche.

Se uso la codifica UTF8 e utilizzo una tabella codici italiana e quindi una tabella codici francese, ciò significa che otterrò caratteri diversi anche se i byte non sono cambiati?

È stato utile?

Soluzione

Joel ha un bel riassunto di questo:
http://www.joelonsoftware.com/articles/Unicode.html

E no. se capisco correttamente la tua domanda non significa che. Quando si converte UTF-8 in una tabella codici specifica, è possibile che solo alcuni dei caratteri vengano convertiti. Cosa succede a quelli che non vengono convertiti dipende da come si chiama la conversione. Un possibile risultato è che i caratteri che non possono essere associati alla tabella codici verranno convertiti in caratteri punto interrogativo.

Altri suggerimenti

Una codifica è semplicemente una mappatura tra valori numerici e "caratteri".

US-ASCII mappa il numero 65 sulla lettera A, 32 su uno spazio e 49 sulla cifra "1". (Il modo in cui queste cose vengono rese è un'altra cosa.) In effetti, UTF-8 fa lo stesso! Ma ci sono altri valori che UTF-8 considera diversamente ASCII. È una codifica a lunghezza variabile, ovvero un carattere può essere codificato con 1, 2, 3 o 4 byte; i caratteri comuni generalmente consumano meno byte.

I file di testo normale, comprese le pagine Web, vengono memorizzati e trasmessi come sequenze di byte. Questi byte dovrebbero rappresentare qualcosa di testuale. Le applicazioni software (come editor di testo e browser Web) sono responsabili del rendering delle informazioni all'interno di questi file sullo schermo. Di solito fanno uso delle funzioni di libreria o del sistema operativo.

Se il software assume una codifica diversa rispetto al software che ha creato il file, potrebbero essere visualizzati caratteri errati!

Nota che è possibile convertire tra diverse codifiche; tuttavia se si converte in una codifica che non contiene un determinato carattere, il software deve fare una scelta su cosa usare invece. Questa conversione avviene spesso in modo trasparente (quando salvi un file con una determinata codifica, tutto ciò che hai digitato deve essere modificato in quella codifica).

UTF-8 include tutti i caratteri della tua codepage francese e italiana, ma le codepage specifiche della lingua non includono tutti gli altri caratteri.

Quindi puoi prendere l'input da ogni lingua e convertirlo in UTF-8 per l'archiviazione, ma non puoi essere certo che otterrai i caratteri giusti se prendi l'input italiano e lo mostri come francese.

Usa UTF-8 completamente se puoi.

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