All Products
Search
Document Center

Object Storage Service:Chinese characters and time

Last Updated:Nov 01, 2024

This topic describes how to use Chinese characters and time in OSS SDK for Python.

Chinese characters

To use Chinese characters in Python code, you must include a character encoding declaration in the beginning of the code. Otherwise, errors occur when you run the code. Example of a character encoding statement:

# -*- coding: utf-8 -*-
            
  • Data types

    The following table describes the data types supported by Python 2.x.

    Data type

    Description

    str

    String. It corresponds to the bytes type in Python 3.x.

    unicode

    Unicode streams. The length is calculated based on the number of Chinese characters. For example, the length of u'中文' is 2.

    The following table describes the data types supported by Python 3.x.

    Data type

    Description

    str

    String. It corresponds to the unicode type in Python 2.x.

    bytes

    Byte streams. The length is calculated based on the number of bytes. For example, the length of b'中文' is calculated based on the encoding mode. If UTF-8 is used, the length is 6 bytes.

  • Input and output limits

    The following table describes the limits on input data.

    Input

    Type

    Remarks

    OSS object name

    str

    If the input data type is bytes, it must be encoded in UTF-8.

    Local file name

    str, unicode

    If the input data type is bytes, it must be encoded in UTF-8. Example: the yourLocalFile parameter value used in bucket.get_object_to_file.

    Input data stream

    bytes

    Example: data in bucket.put_object.

    The following table describes limits on output data.

    Output

    Type

    Remarks

    The result obtained by parsing the XML document

    str

    Example: a string in the result obtained by using bucket.list_object.

    Downloaded content

    bytes

    By default, data of the bytes type used by OSS SDK for Python must be encoded in UTF-8. Therefore, ensure that the source Python file is encoded in UTF-8.

  • Data type conversion functions

    OSS SDK for Python provides three functions for type conversion:

    Function

    Description

    to_bytes

    - Converts the unicode type to the str type in Python 2.x. Data of other types is returned without changes.

    - Converts the str type to the bytes type in Python 3.x. Data of other types is returned without changes.

    to_unicode

    - Converts the str type to the unicode type in Python 2.x. Data of other types is returned without changes.

    - Converts the bytes type to the str type in Python 3.x. Data of other types is returned without changes.

    to_string

    This function is equivalent to to_bytes in Python 2.x. This function is equivalent to to_unicode in Python 3.x.

Time

OSS SDK for Python converts timestamp strings of the datetime.datetime type that are obtained from the server to a Unix timestamp corresponding to the amount of time in seconds elapsed since UTC 00:00 on January 1, 1970. For example, the last_modified parameter returned for bucket.get_object is an int Unix timestamp.

You can use the datetime.datetime.fromtimestamp() method to convert time to obtain timestamp strings.