本ページでは、OSS Python SDK で使用される漢字と時間について説明します。

漢字

Python コードに漢字が使用されていると、エラーが発生する可能性があります。 したがって、コードの先頭で漢字エンコードを宣言する必要があります。 以下の例をご参照ください。

# -*- coding: utf-8 -*-
			
  • データ型

    Python 2.x は以下の 2 つのデータ型をサポートしています。

    データ型 解説
    str Python 3.x の bytes 型に対応する文字列
    unicode Unicode ストリームは、長さが文字数で測定されます。たとえば、u '中文'の長さは 2 です。

    Python 3.x は以下の 2 つのデータ型をサポートしています。

    データ型 説明
    str Python 2.x の Unicode 型に対応する文字列
    bytes バイトストリームは長さがバイト単位で測定されます。 たとえば、b '中文' の長さはエンコーディングに依存します。UTF-8 でエンコードされている場合は、6 になります。
  • 入力と出力の規則

    次のテーブルでは、OSS Python SDK の入力パラメーター型の規則を説明しています。

    入力 データ型 解説
    OSS のオブジェクト名 str 入力型がバイトの場合は、UTF-8 でエンコードする必要があります。
    ローカルファイル名 str, unicode 入力型がバイトの場合は、bucket.get_object_to_file 内の yourLocalFile パラメーターなどは、UTF-8 でエンコードする必要があります。
    入力データストリーム bytes たとえば、bucket.put_object のデータパラメーターがあります。

    次のテーブルでは、OSS Python SDK の出力パラメーター型の規則を説明しています。

    出力 データ型 解説
    XML で解析された結果 str たとえば、bucket.list_object によって取得された結果内の文字列です。
    ダウンロードされたコンテンツ bytes Python SDK では、 bytes 型は既定で UTF-8 でエンコードされているとみなします。 そのため、Python のソースファイルも UTF-8 でエンコードされていることを確認する必要があります。
  • 型変換関数

    OSS Python SDK は型変換のため、 3 つの関数を提供しています。

    関数 説明
    to_bytes

    Python 2.xでは、unicode 型を str 型に変換します。他の型は変換されずに返されます。

    Python 3.x では、str 型を bytes 型に変換します。他の型は変換されずに返されます。

    to_unicode

    Python 2.x では、str 型を unicode 型に変換します。他の型は変換されずに返されます。

    Python 3.x では、bytes 型を str 型に変換します。他の型は変換されずに返されます。

    to_string Python 2.x では、to_bytes として機能します。 Python 3.x では、to_unicode として機能します。

時刻

OSS Python SDK では、サーバーから取得したすべてのタイムスタンプ文字列を Unix 時刻 に変換します。つまり、1970 年 1 月 1 日の UTC 00:00 からの秒数に変換します。 たとえば、bucket.get_object によって返される結果の last_modified 時刻は、int 型の Unix 時刻です。

datetime.datetime.fromtimestamp() メソッドを使用して時刻を変換し、タイムスタンプ文字列を取得することできます。