Python将二进制文件转换为字符串,同时忽略非ASCII字符

车海伦

我有一个二进制文件,我想提取所有ascii字符,而忽略非ascii字符。目前我有:

with open(filename, 'rb') as fobj:
   text = fobj.read().decode('utf-16-le')
   file = open("text.txt", "w")
   file.write("{}".format(text))
   file.close

但是,写入文件时遇到错误UnicodeEncodeError: 'ascii' codec can't encode character u'\xa0' in position 0: ordinal not in range(128)我将如何让Python忽略非ascii?

bgporter

使用内置的ASCII编解码器,并告诉它忽略任何错误,例如:

with open(filename, 'rb') as fobj:
   text = fobj.read().decode('utf-16-le')
   file = open("text.txt", "w")
   file.write("{}".format(text.encode('ascii', 'ignore')))
   file.close()

您可以在Python解释器中对此进行测试和试玩:

>>> s = u'hello \u00a0 there'
>>> s
u'hello \xa0 there'

仅尝试转换为字符串会引发异常。

>>> str(s)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
UnicodeEncodeError: 'ascii' codec can't encode character u'\xa0' in position 6: ordinal not in range(128)

...就像尝试将unicode字符串编码为ASCII一样:

>>> s.encode('ascii')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
UnicodeEncodeError: 'ascii' codec can't encode character u'\xa0' in position 6: ordinal not in range(128)

...但是告诉编解码器忽略它无法处理的字符可以:

>>> s.encode('ascii', 'ignore')
'hello  there'

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Python将二进制文件转换为字符串,同时忽略非ASCII字符

来自分类Dev

将二进制字符串(ASCII)转换为二进制文件

来自分类Dev

将二进制字符串转换为ASCII字符串(C ++)

来自分类Dev

Python 将二进制字符串转换为二进制整数

来自分类Dev

将任何文件转换为二进制字符串并从二进制转换为文件

来自分类Dev

将字符串转换为二进制?

来自分类Dev

将二进制转换为字符串

来自分类Dev

将字符串转换为二进制?

来自分类Dev

将二进制转换为Ascii,但所有位字符串的结果相同

来自分类Dev

将二进制响应转换为 ASCII 字符串

来自分类Dev

Python:从二进制转换为字符串

来自分类Dev

将二进制字符串转换为二进制

来自分类Dev

将二进制字符串转换为二进制

来自分类Dev

将二进制字符串转换为二进制补码

来自分类Dev

将二进制字符串转换为布尔数组并输出二进制文件

来自分类Dev

在Python中,尝试将整数转换为字符并放入二进制“字符串”

来自分类Dev

在Python中,尝试将整数转换为字符并放入二进制“字符串”

来自分类Dev

将十六进制字符串转换为二进制字符串

来自分类Dev

将哈希字符串转换为二进制文件

来自分类Dev

如何将Elixir二进制文件转换为字符串?

来自分类Dev

Python:将字符串转换为其二进制表示形式

来自分类Dev

如何使用Python将XML字符串转换为二进制形式?

来自分类Dev

将二进制字符串转换为IEEE-754单精度-Python

来自分类Dev

Python将二进制列表转换为字符串

来自分类Dev

将二进制字符串转换为IEEE-754单精度-Python

来自分类Dev

将二进制数转换为字符串python

来自分类Dev

将 0 和 1 的字符串转换为它的二进制等效 python

来自分类Dev

从文件转换十六进制ASCII字符串并创建二进制文件

来自分类Dev

将二进制转换为相应的ASCII字符

Related 相关文章

  1. 1

    Python将二进制文件转换为字符串,同时忽略非ASCII字符

  2. 2

    将二进制字符串(ASCII)转换为二进制文件

  3. 3

    将二进制字符串转换为ASCII字符串(C ++)

  4. 4

    Python 将二进制字符串转换为二进制整数

  5. 5

    将任何文件转换为二进制字符串并从二进制转换为文件

  6. 6

    将字符串转换为二进制?

  7. 7

    将二进制转换为字符串

  8. 8

    将字符串转换为二进制?

  9. 9

    将二进制转换为Ascii,但所有位字符串的结果相同

  10. 10

    将二进制响应转换为 ASCII 字符串

  11. 11

    Python:从二进制转换为字符串

  12. 12

    将二进制字符串转换为二进制

  13. 13

    将二进制字符串转换为二进制

  14. 14

    将二进制字符串转换为二进制补码

  15. 15

    将二进制字符串转换为布尔数组并输出二进制文件

  16. 16

    在Python中,尝试将整数转换为字符并放入二进制“字符串”

  17. 17

    在Python中,尝试将整数转换为字符并放入二进制“字符串”

  18. 18

    将十六进制字符串转换为二进制字符串

  19. 19

    将哈希字符串转换为二进制文件

  20. 20

    如何将Elixir二进制文件转换为字符串?

  21. 21

    Python:将字符串转换为其二进制表示形式

  22. 22

    如何使用Python将XML字符串转换为二进制形式?

  23. 23

    将二进制字符串转换为IEEE-754单精度-Python

  24. 24

    Python将二进制列表转换为字符串

  25. 25

    将二进制字符串转换为IEEE-754单精度-Python

  26. 26

    将二进制数转换为字符串python

  27. 27

    将 0 和 1 的字符串转换为它的二进制等效 python

  28. 28

    从文件转换十六进制ASCII字符串并创建二进制文件

  29. 29

    将二进制转换为相应的ASCII字符

热门标签

归档