用Python2.7替换或删除传输块的末尾

2024-09-26 22:41:53 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图从一个编码为“latin1”的数据库导入数据,改为“unicode”,然后导入到我的应用程序中。正常情况下这没问题。但现在我有了一些新数据,其中有一个奇怪的字符=“\x17”

在Python中如何处理这个问题?在

我现在做的是一个替换这些数据的函数。但我认为还有比这更好的方法:

def replace_problem_characters(self, text):
    replace_store = {u"\x17" : ""}
    for key, value in replace_store.items():
        if key in text:
            text = text.replace(key, value)
    return text

Tags: 数据storekeytextin数据库应用程序编码
1条回答
网友
1楼 · 发布于 2024-09-26 22:41:53

如果数据库是用“拉丁语”编码的,你为什么要搞乱utf-8?注意,在代码片段的第4行中,文本被假定为用拉丁语编码,但在第5行中,固定记录最终以utf-8编码。在

访问数据库中的文本列时: 1如果没有为您完成,请立即将拉丁语解码为Unicode。 2使用Unicode方法处理文本。 三。如果不适合您,请在更新数据库之前将Unicode文本编码为拉丁语。在

对于像名称这样的数据,您很可能不需要32个C0控件(\x00到\x1f)中的任何一个。在

如果您的数据库是真正的拉丁语,也就是拉丁语,也就是ISI-8859-1,那么您不需要32个C1控件(\x80到\x9f)。但是,如果您发现您的数据库中有这些数据,那么很可能您应该使用cp1252或类似的方法,它将\x80到\x9f视为有效的数据点,并使用更多的重音字母和标点符号。在

在任何情况下,如果数据库是用utf-8编码的,并且可以使用python3.x而不是2.7,那就更好了。在

相关问题 更多 >

    热门问题