このトピックでは、OSS SDK for Pythonで漢字と時刻を使用する方法について説明します。
漢字、平仮名、片仮名
Pythonコードで漢字を使用するには、コードの先頭に文字エンコーディング宣言を含める必要があります。 そうしないと、コードの実行時にエラーが発生します。 文字エンコード文の例:
# -*-コーディング: utf-8 -*-
- データ型
次の表に、Python 2.xでサポートされるデータ型を示します。
データ型 説明 str 文字列。 Python 3.xのバイトタイプに対応します。 unicode Unicodeストリーム。 長さは漢字の数に基づいて計算されます。 たとえば、 u' 中文 '
の長さは2です。次の表に、Python 3.xでサポートされるデータ型を示します。
データ型 説明 str 文字列。 Python 2.xのunicodeタイプに対応します。 バイト バイトストリーム。 長さはバイト数に基づいて計算されます。 例えば、 b' の文
の長さは、符号化モードに基づいて計算される。 UTF-8が使用される場合、長さは6バイトである。 - 入力と出力の制限
次の表に、入力データの制限を示します。
入力 データ型 補足 OSS のオブジェクト名 str 入力データ型がバイトの場合、UTF-8でエンコードする必要があります。 ローカルファイル名 str, unicode 入力データ型がバイトの場合、UTF-8でエンコードする必要があります。 例: bucket.get_object_to_fileで使用されるyourLocalFileパラメータ値。 入力データストリーム バイト 例: bucket.put_objectのデータ。 出力データの制限を次の表に示します。
出力 データ型 補足 XMLドキュメントを解析して得られた結果 str 例: bucket.list_objectを使用して取得した結果の文字列。 ダウンロードされたコンテンツ バイト デフォルトでは、OSS SDK for Pythonで使用されるバイトタイプのデータをUTF-8でエンコードする必要があります。 したがって、ソースPythonファイルがUTF-8でエンコードされていることを確認してください。 - データ型変換関数
OSS SDK for Pythonは、型変換のための3つの関数を提供します。
関数 説明 to_bytes -Python 2.xでは、unicode型をstr型に変換します。 他の型のデータは変更なしで返されます。
-Python 3.xでstr型をバイト型に変換します。 他の型のデータは変更なしで返されます。
to_unicode -Python 2.xでは、str型をunicode型に変換します。 他の型のデータは変更なしで返されます。
-Python 3.xでバイト型をstr型に変換します。 他の型のデータは変更なしで返されます。
to_string この関数は、Python 2.xのto_bytesに相当します。 この関数は、Python 3.xのto_unicodeに相当します。
時間
OSS SDK for Pythonは、サーバーから取得したdatetime.datetime型のタイムスタンプ文字列を、1970年1月1日のUTC 00:00からの経過時間 (秒) に対応するUnixタイムスタンプに変換します。 たとえば、bucket.get_objectに返されるlast_modifiedパラメーターはint Unixタイムスタンプです。
datetime.datetime.fromtimestamp() メソッドを使用して時間を変換し、タイムスタンプ文字列を取得できます。