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.