Sistem Unicode Python

Helo di sana, penyihir Python masa depan! Hari ini, kami akan melakukan perjalanan yang menarik ke dunia Unicode di Python. Jangan khawatir jika anda belum pernah mendengar tentang Unicode sebelum ini – pada akhir tutorial ini, anda akan mengurus teks seperti professional!

Python - Unicode System

Apa itu Sistem Unicode?

Bayangkan anda ingin menulis surat kepada rakan tinta anda di Jepun, tetapi papan kekunci anda hanya memiliki huruf Bahasa Inggeris. Frustrating, kan? Ini adalah di mana Unicode datang untuk penyelamat!

Unicode adalah seperti kamus yang besar yang menetapkan nombor unik (disebut code point) kepada setiap karakter dalam setiap sistem bahasa di seluruh dunia. Ia bukan hanya tentang huruf dan nombor – ia termasuk tanda baca, simbol, dan juga emoji! ?

Sebagai contoh:

  • 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 penyandian yang berbeza digunakan untuk bahasa yang berbeza, yang sering menyebabkan kesilapan danRalat ketika berbagi data antara sistem komputer yang berbeza. Unicode menjelaskan masalah ini dengan menyediakan piawaian universal.

Penyandian Karakter

Sekarang kita mengerti apa itu Unicode, mari kita bercakap tentang penyandian karakter. Pikirkan tentang itu sebagai proses untuk menterjemahkan code point Unicode ke format yang komputer boleh simpan dan proses.

UTF-8: Penyandian yang Paling Umum

UTF-8 adalah sistem penyandian yang paling banyak digunakan. Ia seperti sistem penyusunan yang cerdik yang dapat mewakili semua karakter Unicode sambil tetap kembali serasi dengan ASCII (sistem penyandian yang lebih tua).

Mari lihat bagaimana Python menguruskan UTF-8:

# Menyandikan rentetan kepada UTF-8
teks = "Hello, 世界!"
teks_sandian = teks.encode('utf-8')
print(teks_sandian)  # b'Hello, \xe4\xb8\x96\xe7\x95\x8c!'

# Mendekodekan UTF-8 kembali ke rentetan
teks_dedkode = teks_sandian.decode('utf-8')
print(teks_dedkode)  # Hello, 世界!

Dalam contoh ini, kita pertama-tama menyandikan rentetan multibahasa kita kepada UTF-8. Prefix b di output menunjukkan bahwa itu adalah objek bytes. Apabila kita mendekodekannya kembali, kita mendapatkan rentetan asal kita.

Dukungan Unicode Python

Satu dari yang terbaik tentang Python adalah dukungan Unicode yang baik. Di Python 3, semua rentetan adalah Unicode secara lalai. Ini berarti anda boleh secara bebas untuk campur karakter dari bahasa yang berbeza tanpa penanganan khas!

Membuat Rentetan Unicode

# Rentetan Unicode yang ringkas
hello_world = "Hello, 世界!"
print(hello_world)  # Hello, 世界!

# Menggunakan rakaman penyembahan Unicode
smiley = "\U0001F60A"
print(smiley)  # ?

Dalam contoh kedua, kita menggunakan rakaman penyembahan Unicode untuk mewakili emoji senyum. \U memberitahu Python bahwa apa yang diikuti adalah code point Unicode.

Bekerja dengan Unicode di Python

Mari eksplor 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 rentetan
mixed_string = "Hello, 世界!"
print(len(mixed_string))  # 9 (Nota: 世 dan 界 dihitung sebagai karakter tunggal)

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

Mengurus Unicode di Fail

Apabila bekerja dengan fail yang mengandungi teks Unicode, selalu ingat untuk menetapkan penyandian:

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

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

Dengan menetapkan encoding='utf-8', kita pastikan teks Unicode kita benar-benar ditulis dan dibaca dari fail.

Metode Unicode di Python

Python menyediakan beberapa metode yang berguna untuk bekerja dengan rentetan Unicode. Berikut adalah rakaman yang menjelaskan beberapa darinya:

Metode Keterangan Contoh
isalpha() Kembali True jika semua karakter dalam rentetan adalah abjadik "Hello".isalpha() # True
isnumeric() Kembali True jika semua karakter dalam rentetan adalah numerik "123".isnumeric() # True
isalnum() Kembali True jika semua karakter dalam rentetan adalah alfanumerik "Hello123".isalnum() # True
islower() Kembali True jika semua karakter yang berkapital dalam rentetan adalah huruf kecil "hello".islower() # True
isupper() Kembali True jika semua karakter yang berkapital dalam rentetan adalah huruf besar "HELLO".isupper() # True
istitle() Kembali True jika rentetan adalah judul kapital "Hello World".istitle() # True

Metode ini adalah sangat berguna apabila anda perlu untuk memvalidasi atau mengkategorikan rentetan Unicode.

Kesimpulan

Tahniah! Anda baru saja melakukan langkah pertama anda ke dunia yang menarik Unicode di Python. Ingat, mengurus teks dari bahasa dan sistem yang berbeza adalah keterampilan yang penting dalam dunia yang terkoneksi kita, dan Python membuatnya sangat mudah.

Apabila anda teruskan perjalanan Python anda, anda akan mendapati bahwa pemahaman ini tentang Unicode akan berguna dalam banyak situasi, dari pengaisan web hingga analisis data dan lain-lain. Teruskan untuk berlatih, dan tidak lama lagi anda akan menarung emoji dan skrip eksotik seperti penyihir Python yang sebenar! ?✨

Credits: Image by storyset