(python)在我的数据库中混合了一些错误的ascii代码,如何将这些字符串正确转换

用户名

在我的数据库中混合了一些错误的ascii代码,如何使这些字符串正确连接?

我的示例情况是这样的(某些ascii字符大于128):

>>> s=b'\xb0'
>>> addstr='read '+s
>>> print addstr
read ░

>>> addstr.encode('ascii','ignore')
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
UnicodeDecodeError: 'ascii' codec can't decode byte 0xb0 in position 5: ordinal
not in range(128)
>>> addstr.encode('utf_8')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
UnicodeDecodeError: 'ascii' codec can't decode byte 0xb0 in position 5: ordinal
not in range(128)

我可以:

>>> addstr.decode("windows-1252").encode('utf-8')
'read \xc2\xb0'

但您可以看到Windows-1252编码会改变我的性格。

我想将addstr转换为unicode吗?怎么做?

冰树
addstrUnicode = addstr.decode("unicode-escape")

您不必担心字符的变化,只是utf-8编码要求两个字节(而不是一个字节)用于0x80和0x7FF之间的字符,因此,当您编码为utf-8时,会增加一个字节(0xC2)添加。

是一个有用的链接,可帮助您理解不同类型的编码。

此外,在开始尝试对字符进行解码之前,请确保您知道该字符的原始编码。当您提到它是“ ASCII代码”时,ASCII字符集最多可扩展到127,这意味着该字符无法进行ASCII编码。我假设这里只是Unicode点\ u00B0。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何将一些值添加到我的数据库中

如何将字符串转换为可以存储在数据库中的日期?

从 MySQL 数据库中获取后如何将 python 字符串转换为其原始类型

检查SQLite数据库中是否有一些字符串

我有一些关于如何将生成的数据保存在 for 循环中的新字符串的问题

如何在PHP代码中存在一些字符串数据

如何将一些文本保存到包含空格的字符串中?

如何将数组插入数据库而不会出现错误:数组到字符串的转换

如何将数据库数据转换为json字符串

如何使我的数据帧的 Ngram 字典以一些字符串 Python 开头

Python将字符串转换为小写,但一些特殊字符串除外

如何将字符串Date从数据库转换为Integer?

将数据库描述字符串转换为PHP中的html代码

我如何将 ascii python 字符串转换为其三进制表示

如何在android中的数据库中插入数据我遇到一些错误?

我如何将一些.vb代码转换为asp.net的.CS代码

如何将连接字符串中的数据库名称显示到我的网页上以进行开发?

我在 <> 中有一些字符串数据,我想将其转换为列表

如何将列表的混合列表中的数字字符串转换为int(Python)

如何将一些数据从数据库推送到asp.net Webform?

如何将 UTF-8 中的字符串转换为 ASCII 忽略错误并删除非 ASCII 字符

如何将数据库中的字符串值与响应中的整数值匹配

如何将日期字符串与数据库中的日期时间列进行比较

Rails-如何将数据库中的记录分组/映射为字符串?

如何将数据库中的枚举保存为字符串

如何将SQL数据库中的字符串与PHP变量进行比较

如何将 UIpickerView 中的整数而不是字符串保存到数据库?

如何将值显示为字符串,从数据库中得到什么?

通过应用一些字符串格式将数据框的字符串(对象)列转换为数字