仅当对象是unicode对象时才将对象编码为字符串的函数

时间:2014-02-02 08:08:16

标签: python string unicode utf-8 type-conversion

我需要一个接收文本对象(可以是字符串或unicode)的简单函数,并将其编码为特定的编码,只有当它是一个unicode对象时,其他的返回原始对象。该函数将始终返回一个字符串对象(假设它只接收一个字符串或一个unicode)

我提出了以下解决方案:

def encode_text(text, encoding="utf-8"):
    if isinstance(text, unicode):
        return text.encode(encoding)
    else:
        return text

但是我想知道是否有一个内置的python函数已经做了类似的事情。

1 个答案:

答案 0 :(得分:0)

Python没有这样的功能。

你应该问问自己为什么你需要一个这样做的功能。当数据进入您的应用程序时,您应该知道它是字节还是Unicode,因此您应该在数据来源的地方进行转换。这意味着您可以在整个应用程序中使用Unicode,并且可以在数据离开应用程序时将其编码回字节。

当然,很容易有这样的实用功能,但我想知道为什么应用程序的结构需要你这样做。