Wednesday, 18 March 2015

3.3.Unicode Strings

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