GNU/Linux >> Belajar Linux >  >> Linux

Cara Mengonversi File ke Encoding UTF-8 di Linux

Dalam panduan ini, kami akan menjelaskan pengkodean karakter apa dan mencakup beberapa contoh konversi file dari satu pengkodean karakter ke pengkodean karakter lainnya menggunakan alat baris perintah. Terakhir, kita akan melihat cara mengonversi beberapa file dari kumpulan karakter apa pun (charset ) ke UTF-8 pengkodean di Linux.

Seperti yang mungkin sudah Anda pikirkan, komputer tidak memahami atau menyimpan huruf, angka, atau apa pun yang dapat kita lihat sebagai manusia kecuali bit. Bit hanya memiliki dua kemungkinan nilai, yaitu 0 atau 1 , true atau false , yes atau no . Setiap hal lain seperti huruf, angka, gambar harus direpresentasikan dalam bit agar komputer dapat memproses.

Secara sederhana, pengkodean karakter adalah cara menginformasikan komputer bagaimana menafsirkan nol mentah dan satu menjadi karakter yang sebenarnya, di mana karakter diwakili oleh set angka. Saat kita mengetik teks dalam file, kata dan kalimat yang kita bentuk dibuat dari karakter yang berbeda, dan karakter diatur ke dalam charset .

Ada berbagai skema pengkodean di luar sana seperti ASCII , ANSI , Unicode diantara yang lain. Di bawah ini adalah contoh ASCII pengkodean.

Character  bits
A               01000001
B               01000010

Di Linux, ikon alat baris perintah digunakan untuk mengonversi teks dari satu bentuk penyandian ke yang lain.

Anda dapat memeriksa penyandian file menggunakan file perintah, dengan menggunakan -i atau --mime flag yang memungkinkan pencetakan string tipe mime seperti pada contoh di bawah ini:

$ file -i Car.java
$ file -i CarDriver.java

Sintaks untuk menggunakan iconv adalah sebagai berikut:

$ iconv option
$ iconv options -f from-encoding -t to-encoding inputfile(s) -o outputfile 

Dimana -f atau --from-code berarti input encoding dan -t atau --to-encoding menentukan pengkodean keluaran.

Untuk membuat daftar semua set karakter berkode yang diketahui, jalankan perintah di bawah ini:

$ iconv -l 

Konversi File dari UTF-8 ke Pengkodean ASCII

Selanjutnya, kita akan belajar bagaimana mengkonversi dari satu skema pengkodean ke skema pengkodean lainnya. Perintah di bawah ini mengkonversi dari ISO-8859-1 ke UTF-8 pengkodean.

Pertimbangkan file bernama input.file yang berisi karakter:

� � � �

Mari kita mulai dengan memeriksa pengkodean karakter dalam file dan kemudian melihat konten file. Dengan cermat, kita dapat mengonversi semua karakter menjadi ASCII pengkodean.

Setelah menjalankan ikon perintah, kami kemudian memeriksa isi file output dan pengkodean karakter baru seperti di bawah ini.

$ file -i input.file
$ cat input.file 
$ iconv -f ISO-8859-1 -t UTF-8//TRANSLIT input.file -o out.file
$ cat out.file 
$ file -i out.file 

Catatan :Jika string //IGNORE ditambahkan ke pengkodean, karakter yang tidak dapat dikonversi dan kesalahan ditampilkan setelah konversi.

Sekali lagi, misalkan string //TRANSLIT ditambahkan ke-encoding seperti pada contoh di atas (ASCII//TRANSLIT ), karakter yang dikonversi ditransliterasikan sesuai kebutuhan dan jika memungkinkan. Artinya, jika suatu karakter tidak dapat direpresentasikan dalam kumpulan karakter target, karakter tersebut dapat didekati melalui satu atau lebih karakter yang terlihat mirip.

Akibatnya, setiap karakter yang tidak dapat ditransliterasikan dan tidak berada dalam kumpulan karakter target diganti dengan tanda tanya (?) dalam keluaran.

Konversi Banyak File ke Pengodean UTF-8

Kembali ke topik utama kami, untuk mengonversi beberapa atau semua file dalam direktori ke penyandian UTF-8, Anda dapat menulis skrip shell kecil yang disebut encoding.sh sebagai berikut:

#!/bin/bash
#enter input encoding here
FROM_ENCODING="value_here"
#output encoding(UTF-8)
TO_ENCODING="UTF-8"
#convert
CONVERT=" iconv  -f   $FROM_ENCODING  -t   $TO_ENCODING"
#loop to convert multiple files 
for  file  in  *.txt; do
     $CONVERT   "$file"   -o  "${file%.txt}.utf8.converted"
done
exit 0

Simpan file, lalu buat skrip dapat dieksekusi. Jalankan dari direktori tempat file Anda (*.txt ) berada.

$ chmod  +x  encoding.sh
$ ./encoding.sh

Penting :Anda juga dapat menggunakan skrip ini untuk konversi umum beberapa file dari satu pengkodean yang diberikan ke yang lain, cukup bermain-main dengan nilai FROM_ENCODING dan TO_ENCODING variabel, jangan lupa nama file output "${file%.txt}.utf8.converted" .

Untuk informasi lebih lanjut, lihat melalui ikon halaman manual.

$ man iconv

Untuk meringkas panduan ini, memahami pengkodean dan bagaimana mengkonversi dari satu skema pengkodean karakter ke yang lain adalah pengetahuan yang diperlukan untuk setiap pengguna komputer terlebih lagi untuk programmer ketika berurusan dengan teks.

Terakhir, Anda dapat menghubungi kami dengan menggunakan bagian komentar di bawah untuk pertanyaan atau masukan apa pun.


Linux
  1. Cara Melihat atau Mengubah ACL di File Linux

  2. Cara mengekstrak file .gz dan .tar.gz di Linux

  3. Bagaimana Mengganti Nama File di Linux?

  1. Cara memindahkan file di Linux

  2. Cara menemukan file di Linux

  3. Cara Menggunakan Netcat untuk Mentransfer File di Linux

  1. Cara Menampilkan File Tersembunyi di Linux

  2. Cara Menyalin File dan Direktori di Linux

  3. Cara Membuat File di Linux