Cara Mengonversi File ke Pengkodean UTF-8 di Linux


Dalam panduan ini, kami akan menjelaskan apa itu pengkodean karakter dan membahas 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 rangkaian karakter apa pun (rangkaian karakter) ke pengkodean UTF-8 di Linux.

Seperti yang mungkin sudah Anda pikirkan, komputer tidak memahami atau menyimpan huruf, angka, atau apa pun yang dapat kita pahami sebagai manusia kecuali bit. Sebuah bit hanya mempunyai dua kemungkinan nilai, yaitu 0 atau 1, true atau false, ya atau tidak. Segala sesuatu seperti huruf, angka, gambar harus direpresentasikan dalam bit agar komputer dapat memprosesnya.

Secara sederhana, pengkodean karakter adalah cara memberi tahu komputer cara menafsirkan angka nol dan satu mentah menjadi karakter sebenarnya, yang mana karakter diwakili oleh sekumpulan angka. Saat kita mengetik teks dalam file, kata dan kalimat yang kita bentuk dibuat dari karakter yang berbeda, dan karakter disusun menjadi rangkaian karakter.

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

Character  bits
A               01000001
B               01000010

Di Linux, alat baris perintah iconv digunakan untuk mengonversi teks dari satu bentuk pengkodean ke bentuk pengkodean lainnya.

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

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

Sintaks penggunaan iconv adalah sebagai berikut:

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

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

Untuk mencantumkan semua rangkaian karakter berkode yang diketahui, jalankan perintah di bawah ini:

iconv -l 

Konversi File dari Pengkodean UTF-8 ke ASCII

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

Misalkan sebuah file bernama input.file yang berisi karakter:


� � � �

Mari kita mulai dengan memeriksa pengkodean karakter dalam file dan kemudian melihat isi file. Secara dekat, kita dapat mengonversi semua karakter ke pengkodean ASCII.

Setelah menjalankan perintah iconv, kita kemudian memeriksa isi file keluaran dan pengkodean karakter yang 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 akan ditampilkan setelah konversi.

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

Akibatnya, karakter apa pun yang tidak dapat ditransliterasi dan tidak termasuk dalam kumpulan karakter target akan diganti dengan tanda tanya (?) di output.

Konversikan Banyak File ke Pengkodean UTF-8

Kembali ke topik utama kita, untuk mengonversi beberapa atau semua file dalam direktori ke pengkodean UTF-8, Anda dapat menulis skrip shell kecil bernama 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 tertentu ke pengkodean lainnya, cukup bermain-main dengan nilai FROM_ENCODING dan variabel TO_ENCODING, tidak lupa nama file keluaran "$ {file%.txt}.utf8.converted".

Untuk informasi lebih lanjut, lihat halaman manual iconv.

man iconv

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

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