我需要一个接收文本对象(可以是字符串或unicode)的简单函数,并将其编码为特定的编码,只有当它是一个unicode对象时,其他的返回原始对象。该函数将始终返回一个字符串对象(假设它只接收一个字符串或一个unicode)
我提出了以下解决方案:
def encode_text(text, encoding="utf-8"):
if isinstance(text, unicode):
return text.encode(encoding)
else:
return text
但是我想知道是否有一个内置的python函数已经做了类似的事情。
答案 0 :(得分:0)
Python没有这样的功能。
你应该问问自己为什么你需要一个这样做的功能。当数据进入您的应用程序时,您应该知道它是字节还是Unicode,因此您应该在数据来源的地方进行转换。这意味着您可以在整个应用程序中使用Unicode,并且可以在数据离开应用程序时将其编码回字节。
当然,很容易有这样的实用功能,但我想知道为什么应用程序的结构需要你这样做。