Topik ini menjelaskan cara menangani karakter Tionghoa dan waktu saat menggunakan Python SDK.
Karakter Cina
Jika kode Python Anda berisi karakter Tionghoa, error waktu proses dapat terjadi. Untuk mencegah error tersebut, deklarasikan pengkodean karakter di awal kode Anda. Contohnya:
# -*- coding: utf-8 -*-
Tipe data
Python 2 mendukung dua tipe data berikut:
Tipe data
Deskripsi
str
Sebuah string. Ini bersesuaian dengan tipe bytes di Python 3.x.
unicode
Aliran unicode. Panjangnya adalah jumlah karakter. Misalnya, panjang
u'éà'adalah 2.Python 3 mendukung dua tipe data berikut:
Tipe data
Deskripsi
str
Sebuah string. Ini bersesuaian dengan tipe unicode di Python 2.x.
bytes
Aliran byte. Panjangnya adalah jumlah byte. Misalnya, panjang
b'Chinese'bergantung pada pengkodeannya. Jika pengkodeannya UTF-8, panjangnya adalah 6.Konvensi tipe input dan output
Konvensi tipe input adalah sebagai berikut:
Input
Tipe
Catatan
OSS file name
str
Jika tipenya bytes, harus dikodekan dalam UTF-8.
Local file name
str, unicode
Jika tipenya bytes, harus dikodekan dalam UTF-8. Misalnya, parameter yourLocalFile dalam bucket.get_object_to_file.
Input data stream
bytes
Misalnya, parameter data dalam bucket.put_object.
Konvensi tipe output adalah sebagai berikut:
Output
Tipe
Catatan
Result of XML parsing
str
Misalnya, string dalam hasil bucket.list_object.
Downloaded content
bytes
Python SDK secara default menggunakan pengkodean UTF-8 untuk tipe bytes. Pastikan file sumber Python Anda juga dikodekan dalam UTF-8.
Fungsi konversi tipe
Python SDK menyediakan tiga fungsi untuk konversi tipe:
Fungsi
Deskripsi
to_bytes
- Di Python 2.x, mengonversi unicode ke str. Untuk tipe lain, nilai awal dikembalikan.
- Di Python 3.x, mengonversi str ke bytes. Untuk tipe lain, nilai awal dikembalikan.
to_unicode
- Di Python 2.x, mengonversi str ke unicode. Untuk tipe lain, nilai awal dikembalikan.
- Di Python 3.x, mengonversi bytes ke str. Untuk tipe lain, nilai awal dikembalikan.
to_string
Di Python 2.x, fungsi ini setara dengan to_bytes. Di Python 3.x, setara dengan to_unicode.
Waktu
Python SDK mengonversi nilai waktu bertipe datetime.datetime yang dikembalikan dari server menjadi Stempel waktu UNIX. Stempel waktu UNIX adalah jumlah detik yang telah berlalu sejak pukul 00:00:00 Coordinated Universal Time (UTC) pada 1 Januari 1970. Misalnya, nilai last_modified yang dikembalikan oleh metode bucket.get_object merupakan bilangan bulat yang merepresentasikan Stempel waktu UNIX.
Anda dapat menggunakan metode datetime.datetime.fromtimestamp() untuk mengonversi Stempel waktu UNIX menjadi objek datetime.