Python - Sistem Unicode

Halo sobat masa depan yang akan menjadi penyihir Python! Hari ini, kita akan memulai perjalanan yang menarik ke dunia Unicode di Python. Jangan khawatir jika Anda belum pernah mendengar tentang Unicode sebelumnya – pada akhir tutorial ini, Anda akan menangani teks seperti seorang profesional!

Python - Unicode System

Apa itu Sistem Unicode?

Bayangkan Anda mencoba untuk menulis surat ke teman setia di Jepang, tetapi papan ketik Anda hanya memiliki huruf Inggris. Frustrating, kan? Ini adalah saat Unicode datang untuk penyelamatan!

Unicode adalah seperti kamus yang besar yang menetapkan angka unik (disebut code point) untuk setiap karakter di setiap sistem bahasa di seluruh dunia. Ini tidak hanya tentang huruf dan angka – itu termasuk tanda baca, simbol, dan bahkan emoji! ?

Misalnya:

  • Huruf 'A' memiliki code point U+0041
  • Simbol '©' memiliki code point U+00A9
  • Emoji '?' memiliki code point U+1F60A

Mengapa kita perlu Unicode?

Sebelum Unicode, sistem enkoding yang berbeda digunakan untuk bahasa yang berbeda, yang sering mengakibatkan kebingungan dan kesalahan saat berbagi data antara sistem komputer yang berbeda. Unicode menyelesaikan masalah ini dengan menyediakan standar universal.

Enkoding Karakter

Sekarang kita mengerti apa itu Unicode, mari kita berbicara tentang enkoding karakter. Pikirkan tentang itu sebagai proses mengubah那些 Unicode code point menjadi format yang dapat disimpan dan diproses oleh komputer.

UTF-8: Enkoding yang Paling Umum

UTF-8 adalah sistem enkoding yang paling banyak digunakan. Ini adalah seperti sistem packing yang cerdas yang dapat mewakili semua karakter Unicode sambil tetap kompatibel ke belakang dengan ASCII (sistem enkoding yang lama).

Lihatlah bagaimana Python menangani UTF-8:

# Mengenkoding string menjadi UTF-8
text = "Hello, 世界!"
encoded_text = text.encode('utf-8')
print(encoded_text)  # b'Hello, \xe4\xb8\x96\xe7\x95\x8c!'

# Mendekode UTF-8 kembali menjadi string
decoded_text = encoded_text.decode('utf-8')
print(decoded_text)  # Hello, 世界!

Dalam contoh ini, kita pertama-tama mengenkoding string multibahasa kita ke UTF-8. Prefiks b di output menunjukkan bahwa itu adalah objek bytes. Ketika kita mendekode itu kembali, kita mendapatkan string aslinya.

Dukungan Unicode Python

Salah satu hal yang bagus tentang Python adalah dukungan Unicode yang sangat baik. Di Python 3, semua string adalah Unicode secara default. Ini berarti Anda dapat secara bebas menggabungkan karakter dari bahasa yang berbeda tanpa penanganan khusus!

Membuat String Unicode

# String Unicode sederhana
hello_world = "Hello, 世界!"
print(hello_world)  # Hello, 世界!

# Menggunakan urutan penyelamatan Unicode
smiley = "\U0001F60A"
print(smiley)  # ?

Dalam contoh kedua, kita menggunakan urutan penyelamatan Unicode untuk mewakili emoji senyum. \U memberitahu Python bahwa apa yang mengikuti adalah code point Unicode.

Bekerja dengan Unicode di Python

Mari kita eksplorasi beberapa operasi Unicode lagi:

# Mendapatkan code point Unicode karakter
print(ord('A'))  # 65
print(ord('世'))  # 19990

# Mendapatkan karakter dari code point Unicode
print(chr(65))  # A
print(chr(19990))  # 世

# Panjang string
mixed_string = "Hello, 世界!"
print(len(mixed_string))  # 9 (Catatan: 世 dan 界 dihitung sebagai karakter tunggal)

Fungsi ord() memberikan kita code point Unicode karakter, sementara chr() melakukan yang sebaliknya. Perhatikan bagaimana len() benar-benar menghitung karakter China sebagai unit tunggal.

Menangani Unicode di File

Ketika bekerja dengan file yang berisi teks Unicode, selalu ingat untuk menentukan enkoding:

# Menulis Unicode ke file
with open('unicode_file.txt', 'w', encoding='utf-8') as f:
f.write("Hello, 世界!")

# Membaca Unicode dari file
with open('unicode_file.txt', 'r', encoding='utf-8') as f:
content = f.read()
print(content)  # Hello, 世界!

Dengan menentukan encoding='utf-8', kita memastikan bahwa teks Unicode kita benar-benar ditulis dan dibaca dari file.

Metode Unicode di Python

Python menyediakan beberapa metode yang berguna untuk bekerja dengan string Unicode. Berikut adalah tabel ringkasan beberapa diantaranya:

Metode Deskripsi Contoh
isalpha() Mengembalikan True jika semua karakter dalam string adalah alfabetik "Hello".isalpha() # True
isnumeric() Mengembalikan True jika semua karakter dalam string adalah numerik "123".isnumeric() # True
isalnum() Mengembalikan True jika semua karakter dalam string adalah alfanumerik "Hello123".isalnum() # True
islower() Mengembalikan True jika semua karakter yang ditangani dalam string adalah huruf kecil "hello".islower() # True
isupper() Mengembalikan True jika semua karakter yang ditangani dalam string adalah huruf besar "HELLO".isupper() # True
istitle() Mengembalikan True jika string adalah titlecased "Hello World".istitle() # True

Metode ini sangat berguna saat Anda perlu memvalidasi atau mengkategorikan string Unicode.

Kesimpulan

Selamat! Anda baru saja mengambil langkah pertamamu ke dunia yang menarik Unicode di Python. Ingat, menangani teks dari bahasa dan sistem yang berbeda adalah keterampilan penting dalam dunia yang terkoneksi kita, dan Python membuatnya sangat mudah.

Sebagai Anda melanjutkan perjalanan Python Anda, Anda akan menemukan bahwa pemahaman ini tentang Unicode akan berguna dalam banyak situasi, dari pengambilan data web hingga analisis data dan lainnya. Tetap latihan, dan segera Anda akan menanganai emoji dan skrip eksotik seperti seorang penyihir Python yang sebenarnya! ?✨

Credits: Image by storyset