Skip to content

emka.web.id

menulis pengetahuan – merekam peradaban

Menu
  • Home
  • Tutorial
  • 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

  • Belum Tahu? Inilah Suku Bajau Punya Gen “Mutan” Mirip Fishman One Piece, Ini Faktanya!
  • Inilah Paket PLTS Hybrid 6kVA Aspro DML 600 yang Paling Powerful!
  • Suku Tsaatan: Suku Mongolia Penggembala Rusa Kutub
  • Game Happy Rush Terbukti Membayar atau Cuma Scam Iklan?
  • Cara Nonton Drama Dapat Duit di Free Flick, Tapi Awas Jangan Sampai Tertipu Saldo Jutaan!
  • APK Pinjol Rajindompet Penipu? Ini Review Aslinya
  • Keganggu Iklan Pop-Up Indosat Pas Main Game? Ini Trik Ampuh Matikannya!
  • Belum Tahu? Inilah Cara Upload Reels Instagram Sampai 20 Menit, Konten Jadi Lebih Puas!
  • Apa itu Negara Somaliland? Apa Hubungannya dengan Israel?
  • Apa itu Game TheoTown? Game Simulasi Jadi Diktator
  • Inilah Rekomendasi 4 HP Honor Terbaik – Prosesor Snapdragon Tahun 2026
  • Lagi Nyari HP Gaming Murah? Inilah 4 HP Asus RAM 8 GB yang Recomended
  • Ini Trik Main Game Merge Cats Road Trip Sampai Tarik Saldo ke DANA
  • Mau Jadi Digital Writer Pro? Ini Caranya Buat Portofolio Pakai Blog!
  • Ini Cara Login Banyak Akun FB & IG di Satu HP Tanpa Diblokir!
  • Inilah Cara Mengatasi Verval Siswa Silang Merah di RDM versi Hosting
  • HP Tertinggal? Inilah Caranya Login PDUM Langsung dari Laptop, Lebih Praktis!
  • Inilah Cara Tarik Dana dari APK Drama Rush
  • Inilah Cara Mudah Tarik Uang Kertas Biru di Merge Cats ke DANA dan OVO Tanpa Ribet!
  • Apakah Aplikasi Pinjaman KlikKami Penipu? Ada DC Penagih?
  • Kenapa Tentara Romawi Hanya Pakai Armor Kaki Saja?
  • Inilah Alasan Kenapa Beli Follower IG itu TIDAK AMAN!
  • EPIK! Kisah Mesin Bor Tercanggih Takluk di Proyek Terowongan Zojila Himalaya
  • Bingung Cari Lokasi Seseorang? Cek Cara Melacak Pemilik Nomor HP Tanpa Bayar Ini, Dijamin Akurat!
  • Apa itu Logis? Kenapa Logika Bisa Berbeda-beda?
  • Ini Alasan Kenapa Fitur Bing AI Sedang Trending dan Dicari Banyak Orang
  • Sejarah Kerajaan Champa: Bangsa Yang Hilang Tanpa Perang Besar, Kok Bisa?
  • Gini Caranya Dapat Weekly Diamond Pass Gratis di Event M7 Pesta, Ternyata Nggak Pake Modal!
  • Inilah Trik Rahasia Panen Token dan Skin Gratis di Event Pesta Cuan M7 Mobile Legends!
  • Apakah Apk Pinjaman Cepat Galaxy Pinjol Penipu?
  • Why Storage & Memory Price Surges | Self-hosting Podcast January 14th, 2026
  • Tailwind’s Revenue Down 80%: Is AI Killing Open Source?
  • Building Open Cloud with Apache CloudStack
  • TOP 1% AI Coding: 5 Practical Techniques to Code Like a Pro
  • Why Your Self-Hosted n8n Instance Might Be a Ticking Time Bomb
  • Cara Membuat AI Voice Agent Cerdas untuk Layanan Pelanggan Menggunakan Vapi
  • Inilah Cara Belajar Cepat Model Context Protocol (MCP) Lewat 7 Proyek Open Source Terbaik
  • Inilah Cara Menguasai Tracing dan Evaluasi Aplikasi LLM Menggunakan LangSmith
  • Begini Cara Menggabungkan LLM, RAG, dan AI Agent untuk Membuat Sistem Cerdas
  • Cara Buat Sistem Moderasi Konten Cerdas dengan GPT-OSS-Safeguard
  • Apa itu CVE-2020-12812? Ini Penjelasan Celah Keamanan Fortinet FortiOS 2FA yang Masih Bahaya
  • Apa itu CVE-2025-14847? Ini Penjelasan Lengkap MongoBleed
  • Ini Kronologi & Resiko Kebocoran Data WIRED
  • Apa itu Grubhub Crypto Scam? Ini Pengertian dan Kronologi Penipuan yang Catut Nama Grubhub
  • Apa Itu CVE-2025-59374? Mengenal Celah Keamanan ASUS Live Update yang Viral Lagi
Beli Morning Star Kursi Gaming/Kantor disini: https://s.shopee.co.id/805iTUOPRV
Beli Pemotong Rumput dengan Baterai IRONHOOF 588V Mesin Potong Rumput 88V disini https://s.shopee.co.id/70DBGTHtuJ

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