Unicode adalah untuk memproses karakter yang lebih komplek seperti bahasa Jepang, China, Arab, dll yang bukan ASCII. Unicode mencakup sekitar 110.000 karakter dan 100 script. Saya tidak mengerti bahasa-bahasa tersebut, jadi cukuplah tahu caranya. Untuk pemetaan unicode dapat dilihat di http://en.wikipedia.org/wiki/Unicode atau langsung ke konsersiumnya. Misalanya:
- >>> '\xc4 \xcfe'
- 'Ä Ïe'
- >>>
Untuk menterjemahkan ASCII ke unicode, hm... unicode ada utf-8 dan utf-16, utf-8 adalah 4 bytes dan utf-16 adalah 8 bytes. Jadi jangan salah memilih unicode yang akan dipergunakan. Apa beda utf-8 dan utf-16? Kita buktikan saja dengan python.
- >>> 'tempe goreng'
- 'tempe goreng'
- >>> 'tempe goreng'.encode('utf-8')
- b'tempe goreng'
- >>> 'tempe goreng'.encode('utf-16')
- b'\xff\xfet\x00e\x00m\x00p\x00e\x00 \x00g\x00o\x00r\x00e\x00n\x00g\x00'
- >>>
yang pertama adalah ASCII, ternyata ASCII (untuk bahasa yang menggunakan a,b,c,d seperti bahasa indonesia) dan utf-8 relatif sama, tapi penulisan dengan utf-16 lain sama sekali. Jadi bila kita ingin menulis dengan utf-16, ya harus belajar lagi pemetaan di utf-16
No comments:
Post a Comment