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

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

  • Cara Memperbaiki Error ScanPST.exe dan File PST di Microsoft Outlook
  • Cara Mengatasi Error DWMAPI.DLL is either not designed or not found
  • Cara Memperbaiki Error Equation/Rumus Jelek di Microsoft Word
  • Cara Mengatasi Adapter Jaringan VMware yang Hilang di Windows 11
  • Cara Reset Multi-Factor Authentication (MFA) di Microsoft Entra
  • Cara Mengatasi Masalah Konektivitas VM Hyper-V ke Host
  • Cara Memperbaiki Error 0x8000FFFF Catastrophic Failure Saat Ekstrak Zip
  • Cara Memperbaiki File Explorer Crash Saat Membuka Folder Besar di Windows 11/10
  • Cara Mengatasi Error Login 0x8007003B di Outlook, Microsoft, XBox dll
  • Cara Memulihkan Akun Admin Microsoft 365 Karena MFA Gagal
  • Cara Mengatasi Error “A Conexant audio device could not be found”
  • Cara Memperbaiki Windows Tidak Nyala Lagi Setelah Sleep/Locked
  • Cara Memperbaiki Komputer Crash karena Discord
  • Cara Memperbaiki Error Windows “Failed to update the system registry”
  • Cara Memperaiki LGPO/exe/g
  • Cara Memperbaiki Error Tidak bisa Add Calendar di Outlook
  • Cara Memperbaiki File Transfer Drop ke 0 di Windows 11
  • Cara Memperbaiki Microsoft Copilot Error di Outlook
  • Cara Memperbaiki Error Virtualbox NtCreateFile(\Device\VBoxDrvStub) failed, Not signed with the build certificate
  • Cara Memperbaiki Error “the system detected an address conflict for an IP address, with Event ID 4199”
  • Cara Memperbaiki Password Microsoft Edge yang Hilang
  • Cara Memperbaiki Email Outlook yang Hilang atau Tidak Muncul
  • Cara Menemukan Username dan Password di Windows 11
  • Cara Mengatasi Error Virtualbox not detecting Graphics Card di Windows 11
  • Cara Mengatasi Error Windows MFReadWrite.dll not found or missing
  • Cara Membuat Formulir Menggunakan Zoho Form
  • Pemerintah Ganti Ujian Kesetaraan Dengan TKA 2025
  • Ini Perbedaan TKA vs Ujian Nasional: TKA Lebih Sakti?
  • Daftar TKA Tutup 5 Oktober: Sudah 3.3 Juta Yang Daftar
  • Review Aplikasi ClipClaps: Penipuan atau Tidak?
  • Cara Memperbaiki Error ScanPST.exe dan File PST di Microsoft Outlook
  • Cara Mengatasi Error DWMAPI.DLL is either not designed or not found
  • Cara Memperbaiki Error Equation/Rumus Jelek di Microsoft Word

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