Cara menukar fail ke pengekodan UTF-8 di Linux
- 4538
- 1309
- Clarence Tromp
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.JavaSemak 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 -lSenaraikan 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.failTukar 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.
- « Cara Mencari Nama Proses Menggunakan Nombor PID di Linux
- 4 Cara Berguna Untuk Mengetahui Nama Peranti USB Dipasang di Linux »