Apa Perbedaan Antara Teks ASCII dan Unicode?

Apa Perbedaan Antara Teks ASCII dan Unicode?

ASCII dan Unicode keduanya standar yang mengacu pada representasi digital teks, khususnya karakter yang membentuk teks. Namun, kedua standar tersebut sangat berbeda, dengan banyak properti yang mencerminkan urutan pembuatannya masing-masing.





Amerika versus Alam Semesta

Kode Standar Amerika untuk Pertukaran Informasi (ASCII), tidak mengejutkan, melayani audiens Amerika, menulis dalam abjad Inggris. Ini berkaitan dengan huruf tanpa aksen, seperti A-Z dan a-z, ditambah sejumlah kecil simbol tanda baca dan karakter kontrol.





Secara khusus, tidak ada cara untuk mewakili kata-kata pinjaman yang diadopsi dari bahasa lain, seperti kopi di ASCII, tanpa menginggriskannya dengan mengganti karakter beraksen (mis., kafe ). Ekstensi ASCII yang dilokalkan dikembangkan untuk memenuhi kebutuhan berbagai bahasa, tetapi upaya ini membuat interoperabilitas menjadi canggung dan jelas memperluas kemampuan ASCII.





Sebaliknya, Universal Coded Character Set (Unicode) terletak di ujung yang berlawanan dari skala ambisi. Unicode berusaha untuk memenuhi sebanyak mungkin sistem penulisan dunia, sejauh itu mencakup bahasa kuno dan rangkaian simbol ekspresif favorit semua orang, emoji.

Kumpulan Karakter atau Pengodean Karakter?

Dalam istilah sederhana, set karakter adalah pemilihan karakter (misalnya, A-Z) sedangkan pengkodean karakter adalah pemetaan antara set karakter dan nilai yang dapat direpresentasikan secara digital (misalnya, A=1, B=2).



Standar ASCII secara efektif keduanya: mendefinisikan set karakter yang diwakilinya dan metode pemetaan setiap karakter ke nilai numerik.

Sebaliknya, kata Unicode digunakan dalam beberapa konteks berbeda untuk mengartikan hal yang berbeda. Anda dapat menganggapnya sebagai istilah yang mencakup semua, seperti ASCII, untuk merujuk ke kumpulan karakter dan sejumlah penyandian. Tetapi, karena ada beberapa penyandian, istilah Unicode sering digunakan untuk merujuk pada kumpulan karakter secara keseluruhan, daripada bagaimana mereka dipetakan.





Ukuran

Karena cakupannya, Unicode mewakili lebih banyak karakter daripada ASCII. Standar ASCII menggunakan rentang 7-bit untuk mengkodekan 128 yang berbeda karakter . Unicode, di sisi lain, sangat besar sehingga kita perlu menggunakan terminologi yang berbeda hanya untuk membicarakannya!

Unicode melayani 1.111.998 yang dapat dialamatkan poin kode. Titik kode kira-kira analog dengan ruang yang disediakan untuk karakter, tetapi situasinya jauh lebih rumit daripada saat Anda mulai mempelajari detailnya!





Perbandingan yang lebih berguna adalah berapa banyak skrip (atau sistem penulisan) yang saat ini didukung. Tentu saja, ASCII hanya menangani alfabet Inggris, pada dasarnya skrip Latin atau Romawi. Versi Unicode yang diproduksi pada tahun 2020 melangkah lebih jauh: ini mencakup dukungan untuk total 154 skrip.

Penyimpanan

Rentang 7-bit ASCII berarti bahwa setiap karakter disimpan dalam satu byte 8-bit; bit cadangan tidak digunakan dalam ASCII standar. Ini membuat perhitungan ukuran menjadi sepele: panjang teks, dalam karakter, adalah ukuran file dalam byte.

Anda dapat mengonfirmasi ini dengan urutan perintah bash berikut. Pertama, kita membuat file yang berisi 12 huruf teks:

kenapa volume saya sangat kecil
$ echo -n 'Hello, world' > foo

Untuk memeriksa apakah teks dalam penyandian ASCII, kita dapat menggunakan mengajukan memerintah:

$ file foo
foo: ASCII text, with no line terminators

Akhirnya, untuk mendapatkan jumlah byte yang tepat yang ditempati file, kami menggunakan negara memerintah:

$ stat -f%z foo
12

Karena standar Unicode berurusan dengan rentang karakter yang jauh lebih besar, file Unicode secara alami membutuhkan lebih banyak ruang penyimpanan. Persis berapa banyak tergantung pada pengkodean.

Mengulangi rangkaian perintah yang sama dari sebelumnya, menggunakan karakter yang tidak dapat direpresentasikan dalam ASCII, memberikan yang berikut:

$ echo -n '€' > foo
$ file foo
foo: UTF-8 Unicode text, with no line terminators
$ stat -f%z foo
3

Karakter tunggal itu menempati 3 byte dalam file Unicode. Perhatikan bahwa bash secara otomatis membuat file UTF-8 karena file ASCII tidak dapat menyimpan karakter yang dipilih (€). UTF-8 sejauh ini merupakan pengkodean karakter paling umum untuk Unicode; UTF-16 dan UTF-32 adalah dua pengkodean alternatif, tetapi penggunaannya jauh lebih sedikit.

UTF-8 adalah pengkodean lebar variabel, yang berarti menggunakan jumlah penyimpanan yang berbeda untuk titik kode yang berbeda. Setiap titik kode akan menempati antara satu dan empat byte, dengan maksud agar karakter yang lebih umum membutuhkan lebih sedikit ruang, menyediakan jenis kompresi bawaan. Kerugiannya adalah menentukan persyaratan panjang atau ukuran dari potongan teks tertentu menjadi jauh lebih rumit.

ASCII Adalah Unicode, tetapi Unicode Bukan ASCII

Untuk kompatibilitas mundur, 128 poin kode Unicode pertama mewakili karakter ASCII yang setara. Karena UTF-8 mengkodekan masing-masing karakter ini dengan satu byte, teks ASCII apa pun juga merupakan teks UTF-8. Unicode adalah superset dari ASCII.

Namun, seperti yang ditunjukkan di atas, banyak file Unicode tidak dapat digunakan dalam konteks ASCII. Setiap karakter yang berada di luar batas akan ditampilkan dengan cara yang tidak terduga, seringkali dengan karakter pengganti yang sama sekali berbeda dari yang dimaksudkan.

Penggunaan Modern

Untuk sebagian besar tujuan, ASCII sebagian besar dianggap sebagai standar warisan. Bahkan dalam situasi yang hanya mendukung skrip Latin—di mana dukungan penuh untuk kompleksitas Unicode tidak diperlukan, misalnya—biasanya lebih nyaman menggunakan UTF-8 dan memanfaatkan kompatibilitas ASCII-nya.

windows 10 matikan startup cepat

Secara khusus, halaman web harus disimpan dan dikirim menggunakan UTF-8, yang merupakan default untuk HTML5. Ini berbeda dengan web sebelumnya, yang menangani ASCII secara default sebelum digantikan oleh Latin 1.

Standar yang Berubah

Revisi terakhir ASCII terjadi pada tahun 1986.

Sebaliknya, Unicode terus diperbarui setiap tahun. Skrip, karakter, dan, khususnya, emoji baru baru ditambahkan secara berkala. Dengan hanya sebagian kecil dari alokasi ini, set karakter lengkap kemungkinan akan tumbuh dan berkembang di masa mendatang.

Terkait: 100 Emoji Paling Populer Dijelaskan

ASCII Versus Unicode

ASCII melayani tujuannya selama beberapa dekade, tetapi Unicode sekarang telah secara efektif menggantikannya untuk semua tujuan praktis selain sistem warisan. Unicode lebih besar dan, karenanya, lebih ekspresif. Ini mewakili upaya kolaboratif di seluruh dunia dan menawarkan fleksibilitas yang jauh lebih besar, meskipun dengan mengorbankan beberapa kompleksitas.

Membagikan Membagikan Menciak Surel Apa Itu Teks ASCII dan Bagaimana Cara Penggunaannya?

Teks ASCII tampak samar, tetapi memiliki banyak kegunaan di internet.

Baca Selanjutnya
Topik-topik yang berkaitan
  • Teknologi Dijelaskan
  • emoji
  • Jargon
  • Budaya Web
  • Unicode
Tentang Penulis Bobby Jack(58 Artikel Diterbitkan)

Bobby adalah penggemar teknologi yang bekerja sebagai pengembang perangkat lunak selama hampir dua dekade. Dia bersemangat tentang game, bekerja sebagai Editor Ulasan di Majalah Switch Player, dan mendalami semua aspek penerbitan online & pengembangan web.

More From Bobby Jack

Berlangganan newsletter kami

Bergabunglah dengan buletin kami untuk kiat teknologi, ulasan, ebook gratis, dan penawaran eksklusif!

Klik di sini untuk berlangganan