首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用Python 2.7替换或删除传输块的末尾

用Python 2.7替换或删除传输块的末尾
EN

Stack Overflow用户
提问于 2016-12-15 19:08:39
回答 1查看 470关注 0票数 0

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

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

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

代码语言:javascript
运行
复制
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
EN

Stack Overflow用户

发布于 2016-12-18 12:47:51

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

当访问数据库中的文本列时: 1.如果没有这样做,请立即将拉丁文解码为Unicode。2.使用Unicode方法处理文本。3.如果没有这样做,请在更新数据库之前将Unicode文本编码为拉丁文。

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

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

在任何情况下,如果数据库是用utf-8编码的,如果你能使用Python 3.x而不是2.7,那就更好了。

票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41162668

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档