iconv Comando in Linux

Iconv Comando In Linux



Assicurati di aggiornare la tua macchina Linux prima di approfondire l'implementazione di questo articolo. Per l'aggiornamento, utilizzare l'utilità 'apt' di Linux con la parola chiave 'update' ed eseguire questa istruzione utilizzando i privilegi 'sudo'. Sebbene ora possiamo passare all'implementazione, preferiremmo aggiornare anche questo sistema, ovvero un aggiornamento ridurrebbe la possibilità che si verifichino errori e il sistema sarebbe in grado di risolvere i problemi in modo più accurato. Pertanto, utilizzare l'utilità 'apt' all'interno dell'istruzione 'aggiornamento'.

Diamo un'occhiata all'utilità iconv di Linux nella sua console terminale ora. Quindi, abbiamo eseguito l'istruzione 'iconv' con il flag '-l' per visualizzare tutti i set di caratteri codificati noti e più utilizzati sullo schermo del nostro terminale. Mostrerà i set di caratteri codificati insieme ai loro alias. È possibile visualizzare un lungo elenco di set di caratteri codificati dopo aver scorrere un po' verso il basso.







Ora è il momento di iniziare con l'implementazione del comando iconv in Linux. Innanzitutto, abbiamo bisogno di diversi tipi di file nel nostro sistema per convertire un tipo di file in un altro tipo. Pertanto, stiamo utilizzando la query 'touch' sul terminale della console per creare tre diversi file, ovvero tipo Java, tipo C e tipo di testo. Elencando il contenuto della directory corrente, troverai i file appena generati al suo interno.



Successivamente, esamineremo il tipo di ciascun file separatamente utilizzando la query 'file' insieme al nome di ciascun file. Questa query richiede l'opzione '-I' per visualizzare il tipo di set di caratteri di codifica per ciascun file separatamente. Se hai dimenticato di usare l'opzione '-I', usa invece il flag '—mime'. Entrambi i flag '-I' e '—mime' funzionano allo stesso modo.



Ora, dopo aver eseguito l'istruzione 'file' per il file di tipo 'txt', abbiamo ottenuto la codifica del tipo di carattere 'US-ASCII'. Mentre si utilizza la stessa istruzione per i file Java e C, mostra che entrambi i file contengono la codifica del tipo di carattere 'BINARY'. Insieme a ciò, questa istruzione mostra che tutti e tre i file sono vuoti.





Ora illustreremo l'uso dell'istruzione iconv sulla console per convertire un file di codifica di un set di caratteri specifico in un'altra codifica di set di caratteri. Prima di ciò, dobbiamo aggiungere del codice o dei dati ai nostri file. Pertanto, abbiamo aggiunto il codice Java all'interno del file 'text.java', il codice C all'interno del file 'text.c' e aggiunto i dati di testo all'interno del file 'test.txt'. La query cat è stata utilizzata qui per visualizzare il contenuto di tutti e tre i file, come presentato di seguito:



Ora che abbiamo aggiunto i dati con successo, vedremo ancora una volta la codifica del set di caratteri di questi file. Quindi, abbiamo provato la stessa istruzione di file all'interno della shell con il flag '-I' e i nomi dei file, ovvero test.txt, test.java e test.c. L'esecuzione di queste tre istruzioni separatamente per tutti e tre i file mostra che la codifica del set di caratteri è stata aggiornata per i file Java e C pur rimanendo la stessa per il file di testo, ovvero US-ASCII. La codifica dei file Java e C era precedentemente “binaria”; ora è 'US-ASCII'. Inoltre, mostra che il file di testo contiene dati di testo normale mentre gli altri due file di codice contengono gli script come contenuto.

È ora di eseguire l'attività effettiva necessaria per questo articolo, ovvero convertire una codifica in un'altra utilizzando il comando iconv nella shell. Pertanto, abbiamo utilizzato l'istruzione 'iconv' all'interno del terminale della shell con i privilegi 'sudo'. Questo comando accetta l'opzione '-f' sta per 'da' e l'opzione '-t' sta per 'a', cioè da una codifica all'altra.

Dopo l'opzione '-f', devi specificare la codifica che il tuo file ha già, ovvero US-ASCII. Mentre dopo l'opzione '-t', devi specificare la codifica che vuoi sostituire con la vecchia codifica, ovvero UNICODE. È necessario specificare il nome di un file utilizzato come origine con l'opzione –o per creare l'immagine dell'oggetto. L'immagine oggetto sarebbe un altro file, ovvero “new.c”, dello stesso tipo ma con la nuova codifica e gli stessi dati.

Dopo aver eseguito la seguente istruzione, otterrai un nuovo file nella stessa directory, cioè secondo la query 'ls'. Ora verificheremo la codifica del set di caratteri di un nuovo file generato usando l'istruzione iconv. Utilizzeremo nuovamente l'istruzione 'file' con l'opzione '-I' e il nuovo nome file, ovvero new.c.

Vedrai che il set di caratteri per questo nuovo file è stato diverso dal set di caratteri di un vecchio file, ovvero il set di caratteri UTF-16LE. Questo perché abbiamo tradotto la codifica US-ASCII nella codifica UNICODE usando l'istruzione iconv per il nostro file new.c. La query 'cat' mostrava lo stesso codice C all'interno del file ma iniziava con alcuni caratteri Unicode, come già presentato.

In modo molto simile, cambieremo la codifica del file di testo test.txt. L'istruzione del file mostra che ha una codifica del set di caratteri US-ASCII. Il comando iconv è stato utilizzato con lo stesso formato per convertire la codifica del file test.txt da US-ASCII a TURKISH8. Vedrai che non cambia l'US-ASCII in turco.

Successivamente, abbiamo utilizzato lo stesso comando per coprire la codifica del set di caratteri da US-ASCII a UTF-32 per lo stesso file. Questa volta funziona. Questo perché a volte potrebbe esserci un problema durante la conversione di un set di codifica in un altro, oppure l'altra codifica potrebbe non supportarla.

Conclusione

Questo articolo ha discusso come utilizzare le istruzioni di iconv Linux per convertire un set di caratteri di codifica in un altro usando i loro alias. In questo modo abbiamo dovuto creare dei file di diverso tipo.