Skip to content

emka.web.id

menulis pengetahuan – merekam peradaban

Menu
  • Home
  • Tutorial
  • Makalah
  • Ke-NU-an
  • Kabar
  • Search
Menu

Cara Menggunakan Perintah iconv di Linux

Posted on August 14, 2023 by syauqi wiryahasana

Apa pun jenis data yang digunakan atau disimpan oleh komputer, data tersebut disimpan sebagai informasi biner. Gambar, teks, musik, video, dan lainnya disimpan sebagai data biner. Apakah data ada di perangkat penyimpanan atau dimuat ke dalam memori komputer, itu masih diwakili oleh nilai biner.

Jika data adalah teks, dan kami ingin menampilkan teks itu di layar, ada terjemahan yang harus terjadi untuk mengonversi nilai biner menjadi karakter. Untuk melakukan translasi, kita perlu mengetahui nilai mana yang digunakan untuk mewakili setiap karakter saat data dibuat. Perangkat lunak kemudian dapat bekerja mundur dan memetakan nilai numerik yang disimpan kembali ke karakter.

Karena kesuksesan bergantung pada mengetahui jenis pemetaan apa yang telah digunakan dan dengan ketat mematuhi aturan pemetaan selama pembuatan data dan penggunaan data, standar telah dibuat yang memformalkan pemetaan karakter seperti itu. Mereka mudah dipahami jika kita mendapatkan jargon langsung.

Karakter, Byte, dan Pemetaan

Karakter adalah huruf, angka, atau simbol lain yang dapat ditampilkan, seperti simbol tanda baca, tanda matematika seperti sama dengan “=” dan plus “+ ”, dan simbol mata uang. Hal yang Anda lihat di layar yang mewakili huruf itu disebut mesin terbang, dan kumpulan mesin terbang membentuk jenis huruf.

A jenis huruf adalah apa yang secara keliru disebut oleh banyak orang sebagai font. Sebenarnya, font adalah versi dari jenis huruf yang telah dimodifikasi, misalnya dengan menambah atau mengurangi ukurannya, atau mengubah bobotnya untuk membuat garis-garis mesin terbang lebih tebal atau lebih tipis. Terlepas dari jenis hurufnya, representasi numerik dari karakter tetap sama.

Semua karakter dalam satu pemetaan disebut himpunan karakter. Setiap karakter dalam satu set memiliki nilai numeriknya sendiri, tetap, unik, yang disebut titik kode. Jika karakter atau simbol tidak muncul di kumpulan karakter – artinya, tidak ada titik kode untuk itu – maka karakter atau simbol tersebut tidak dapat ditampilkan menggunakan kumpulan karakter tersebut. Pertimbangan penting adalah jumlah byte yang digunakan untuk mewakili satu karakter. Semakin banyak byte yang Anda gunakan per karakter, semakin banyak karakter yang dapat Anda sertakan dalam set.

Kakek dari semua set karakter byte tunggal adalah standar ASCII. Itu berasal dari akhir 1960-an ketika standar 7-bit ditetapkan yang mengkodekan 128 titik kode berbeda untuk digunakan oleh teleprinter. Sebaliknya, standar Unicode berisi total 1.114.112 poin kode. Ruang kode yang begitu besar diperlukan karena Unicode mencoba menyediakan dukungan pemetaan karakter untuk semua bahasa manusia. Menggunakan byte dalam jumlah tetap untuk menyimpan titik kode adalah pemborosan. Jika titik kode hanya membutuhkan satu byte untuk mengidentifikasinya, byte lain yang dicadangkan untuk titik kode tersebut akan mubazir. Kumpulan karakter dengan panjang variabel multibyte Unicode menggunakan sejumlah byte variabel untuk titik kode, dengan sebanyak empat byte diperlukan untuk mendeskripsikan titik kode yang rumit.

Jadi, titik kode mungkin harus menyandikan dua jenis data. Itu harus mengidentifikasi karakter yang diwakilinya, dan itu harus berisi metadata tentang dirinya sendiri, seperti jumlah byte di titik kode. Selain itu, beberapa karakter perlu digabungkan dengan karakter lain untuk mendapatkan mesin terbang akhir, sehingga titik kode juga perlu menyandikan informasi tersebut.

Keuntungan dari skema panjang variabel adalah Anda hanya menggunakan byte yang benar-benar Anda butuhkan. Ini efisien, dan menghasilkan file yang lebih kecil. Kerugiannya adalah, data lebih rumit untuk dibaca dan diurai. Dan mengubah dari satu set karakter ke yang lain bisa menjadi sangat sulit, sangat cepat.

Di situlah perintah iconv masuk. pengkodean karakter yang didukungnya. Ini mencantumkan lebih dari 1100 pengkodean yang berbeda, tetapi banyak yang merupakan alias untuk hal yang sama. Kami dapat membuat daftar semua pengkodean yang didukung menggunakan opsi -l (daftar). Jika Anda tidak menentukan nama file, iconv menggunakan STDIN dan STDOUT, mengambil inputnya dari baris perintah dan menulis outputnya ke jendela terminal. Anda dapat menyalurkan input ke iconv, dan Anda juga dapat mengarahkan outputnya ke file.

Kami akan menggunakan iconv dengan STDIN untuk mengilustrasikan beberapa poin. Kita perlu menentukan penyandian teks input, jadi kita akan menggunakan perintah lokal untuk menemukan apa itu.

locale

Baris pertama mengatakan kita menggunakan bahasa Inggris AS, dan penyandian Unicode UTF-8. String pengujian kami memiliki beberapa teks biasa, kata beraksen, karakter non-Inggris (karakter eszett Jerman, ß), dan simbol mata uang untuk Euro.

plain à beraksen non-Inggris ß Mata uang asing €

Kami akan mengonversi ini ke dalam ASCII. Kami menggunakan gema untuk menyalurkan teks input kami ke iconv. Kami menggunakan opsi -f (dari) untuk menentukan penyandian input adalah UTF-8, dan opsi -t (ke) untuk menunjukkan bahwa kami menginginkan output dalam US-ASCII.

eccho polos à beraksen non-Inggris ß Mata uang asing € | iconv -f UTF-8 -t US-ASCII

Itu gagal pada rintangan pertama. Tidak ada karakter yang setara di US-ASCII untuk “à”, sehingga konversi diabaikan. iconv menggunakan penghitungan zero-offset, jadi kami diberi tahu bahwa masalah terjadi di posisi enam. Jika kita menambahkan opsi -c (lanjutkan) iconv akan membuang karakter yang tidak dapat dikonversi dan melanjutkan memproses sisa input.

eccho polos beraksen non-Inggris ß Mata uang asing € | iconv -f UTF-8 -t US-ASCII

Perintah berjalan sampai selesai sekarang, tetapi ada karakter yang hilang dari output. Kita dapat membuat iconv untuk memberikan perkiraan karakter yang tidak dapat diubah dengan mengganti karakter yang serupa, atau representasi lainnya. Jika tidak bisa mengaturnya, itu menyisipkan tanda tanya “?” sehingga Anda dapat dengan mudah melihat karakter tidak dikonversi. Proses ini disebut transliterasi, dan untuk memanggilnya Anda menambahkan string “//TRANSLIT” ke pengkodean target. iconv -f UTF-8 -t US-ASCII//TRANSLIT

Sekarang kita telah mendapatkan teks keluaran lengkap, dengan “a” bukan “à” dan “ss” bukan “ß”, dan “EUR” bukan “€” currency symbol.

Menggunakan iconv With Files

Menggunakan iconv dengan files sangat mirip dengan menggunakannya pada baris perintah. Untuk mengetahui jenis pengkodean file sumber, kita dapat menggunakan perintah file.

file -i input.txt

File input kita dalam pengkodean UTF-16LE. Itu adalah pengkodean little-endian 16-bit. Tampilannya seperti ini:

less input.txt

Jika Anda menyipitkan mata dan membaca karakter berwarna putih, Anda dapat memilih string teks sebenarnya. Banyak perangkat lunak salah memperlakukan file seperti ini sebagai file biner, jadi kami akan mengonversinya menjadi UTF-8.

Kami menggunakan opsi -f (dari) untuk menentukan penyandian file input, dan – t (ke) opsi untuk memberi tahu iconv bahwa kami menginginkan output dalam UTF-8. Kita perlu menggunakan opsi -o (output) untuk menamai file output. Kami tidak menggunakan opsi untuk menamai file input—kami hanya memberi tahu iconv apa namanya.

iconv -f UTF-16LE -t UTF-8//TRANSLIT input.txt -o output.txt

File output kami terlihat seperti ini:

less output.txt

Anda mungkin tidak sering menggunakan iconv, tetapi saat Anda benar-benar membutuhkannya, ikon ini dapat menghemat bacon Anda.

Saya menerima banyak kiriman file dari orang yang menggunakan komputer Windows atau Mac, dan seringkali dari luar negeri. Mereka datang dalam segala macam pengkodean. Saya telah memberkati iconv lebih dari sekali karena dengan mudah mengizinkan saya bekerja dengan file-file itu di Linux.

Terbaru

  • Apa itu Cryptobiosis dan Contohnya
  • 5 Laptop Paling Produktif: Multitasking Lancar, Baterai Awet!
  • Apa itu Kepulauan Chagos? (Milik Inggris atau Mauritius?)
  • Apa itu Kiwano atau Melon Berduri (Cucumis Metuliferus)?
  • Apakah Paganisme itu Agama?
  • Perbaiki Kebodohannya, Pemerintah Buka Lagi Akses Ke Situs archive.org
  • Kenapa Disebut Ilmuwan Muslim, Bukan Ilmuwan Arab atau Ilmuwan Persia?
  • Indonesia Prasejarah, Benarkah Se-kaya itu?
  • Apa itu Bilangan Aleph ?
  • Jejak Aneh Nisan Makam Gaya Aceh di Pangkep Sulawesi Selatan
  • Rasa’il Ikhwan al-Shafa Fondasi Matematika dalam Filsafat Islam
  • Review Aplikasi Melolo, Saingan Berat Dramabox!
  • Review Game Dislyte: Petualangan Urban Myth yang Seru!
  • Microsoft Resmikan Cloud Region Pertama di Indonesia, Pacu Pertumbuhan AI
  • Bagaimana Bisa Xiaomi Jadi Raja dibanyak Sektor?
  • Sejarah Tokoh Judi Negara: Robby Sumampow
  • Kenapa Hongkong Mulai Kehilangan Anak Mudanya?
  • Apakah China ada Peternakan Panda?
  • Kebohongan Ajudan Bung Karno Soal Letkol Untung Habisi Para Jenderal?
  • Apakah Harga Minyak Dunia Turun Bikin OPEC Bangkrut?
RSS Error: WP HTTP Error: cURL error 35: OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to blog.emka.web.id:443
  • Apa itu Cryptobiosis dan Contohnya
  • 5 Laptop Paling Produktif: Multitasking Lancar, Baterai Awet!
  • Apa itu Kepulauan Chagos? (Milik Inggris atau Mauritius?)

©2025 emka.web.id | Design: Newspaperly WordPress Theme