Cara menukar fail ke pengekodan UTF-8 di Linux

Cara menukar fail ke pengekodan UTF-8 di Linux

Dalam panduan ini, kami akan menerangkan pengekodan watak dan meliputi beberapa contoh fail menukar dari satu pengekodan aksara ke yang lain menggunakan alat baris arahan. Akhirnya, kita akan melihat cara menukar beberapa fail dari mana -mana set aksara (Charset) hingga UTF-8 Pengekodan di Linux.

Seperti yang anda mungkin ada dalam fikiran, komputer tidak memahami atau menyimpan huruf, nombor atau apa -apa lagi yang kita dapat dilihat oleh manusia kecuali bit. Sedikit hanya mempunyai dua nilai yang mungkin, sama ada a 0 atau 1, Benar atau salah, Ya atau tidak. Setiap perkara lain seperti huruf, nombor, imej mesti diwakili dalam bit untuk diproses komputer.

Secara ringkas, Pengekodan watak adalah cara memaklumkan komputer bagaimana mentafsirkan sifar mentah dan yang menjadi aksara sebenar, di mana watak diwakili oleh set nombor. Apabila kita menaip teks dalam fail, kata-kata dan ayat yang kita bentuk dimasak dari aksara yang berbeza, dan watak-watak dianjurkan ke dalam Charset.

Terdapat pelbagai skim pengekodan di luar sana seperti Ascii, Ansi, Unicode dalam kalangan yang lain. Berikut adalah contoh Ascii pengekodan.

Watak bit A 01000001 b 01000010 

Di Linux, iconv Alat baris arahan digunakan untuk menukar teks dari satu bentuk pengekodan ke yang lain.

Anda boleh menyemak pengekodan fail menggunakan fail perintah, dengan menggunakan -i atau --mime Bendera yang membolehkan percetakan rentetan jenis mime seperti dalam contoh di bawah:

$ fail -i kereta.Java $ File -I Cardriver.Java 
Semak pengekodan fail di Linux

Sintaks untuk menggunakan iconv adalah seperti berikut:

$ iconv Option $ iconv Options -f From -encoding -T to -encoding Inputfile (s) -o outputFile 

Di mana -f atau --dari kod bermaksud pengekodan input dan -t atau --Pengekodan Menentukan pengekodan output.

Untuk menyenaraikan semua set aksara berkod yang diketahui, jalankan arahan di bawah:

$ iconv -l 
Senaraikan Kod Kod di Linux

Tukar fail dari pengekodan UTF-8 ke ASCII

Seterusnya, kita akan belajar cara menukar dari satu skim pengekodan ke yang lain. Perintah di bawah ditukar dari ISO-8859-1 ke UTF-8 pengekodan.

Pertimbangkan fail yang dinamakan input.fail yang mengandungi watak:

� � � � 

Mari kita mulakan dengan menyemak pengekodan aksara dalam fail dan kemudian lihat kandungan fail. Dengan teliti, kita boleh menukar semua watak ke Ascii pengekodan.

Selepas menjalankan iconv perintah, kami kemudian menyemak kandungan fail output dan pengekodan baru aksara seperti di bawah.

$ fail -I input.Fail $ Cat Input.Fail $ iconv -f ISO-8859-1 -T UTF-8 // Input Transtit.fail -o keluar.Fail $ Cat Out.Fail $ File -I keluar.fail 
Tukar UTF-8 ke ASCII di Linux

Catatan: Sekiranya rentetan //ABAI ditambah kepada pengekodan, watak yang tidak dapat ditukar dan ralat dipaparkan selepas penukaran.

Sekali lagi, mengandaikan rentetan // transit ditambah kepada pengekodan seperti dalam contoh di atas (Ascii // transit), watak -watak yang ditukar diterjemahkan mengikut keperluan dan jika mungkin. Yang menyiratkan sekiranya watak tidak dapat diwakili dalam set aksara sasaran, ia dapat dianggarkan melalui satu atau lebih aksara mencari yang serupa.

Oleh itu, mana -mana watak yang tidak dapat diterjemahkan dan tidak berada dalam set aksara sasaran digantikan dengan tanda tanya (?) dalam output.

Tukar pelbagai fail ke pengekodan UTF-8

Kembali ke topik utama kami, untuk menukar pelbagai atau semua fail dalam direktori ke pengekodan UTF-8, anda boleh menulis skrip shell kecil yang dipanggil pengekodan.sh seperti berikut:

#!/bin/bash #enter pengekodan input di sini dari_encoding = "value_here" #Output encoding (UTF -8) to_encoding = "utf -8" #convert convert = "iconv -f $ from_encoding -t $ to_encoding" #loop untuk menukar pelbagai fail untuk fail di *.txt; Do $ Convert "$ file" -o "$ file%.txt.UTF8.ditukar "selesai 0 

Simpan fail, kemudian buat skrip boleh dilaksanakan. Jalankan dari direktori di mana fail anda (*.txt) terletak.

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

Penting: Anda juga boleh menggunakan skrip ini untuk penukaran umum pelbagai fail dari satu pengekodan yang diberikan kepada yang lain, hanya bermain -main dengan nilai -nilai Dari_encoding dan To_encoding pemboleh ubah, tidak melupakan nama fail output "$ file%.txt.UTF8.ditukar ".

Untuk maklumat lanjut, lihat melalui iconv halaman lelaki.

$ man iconv 

Untuk meringkaskan panduan ini, memahami pengekodan dan bagaimana untuk menukar dari satu skema pengekodan aksara kepada yang lain adalah pengetahuan yang diperlukan untuk setiap pengguna komputer lebih banyak lagi untuk pengaturcara ketika berurusan dengan teks.

Akhir sekali, anda boleh menghubungi kami dengan menggunakan bahagian komen di bawah untuk sebarang pertanyaan atau maklum balas.