gpt4 book ai didi

python - python代码中明显非法的字符序列

转载 作者:行者123 更新时间:2023-11-28 22:42:37 24 4
gpt4 key购买 nike

我有一个 UTF-8 输入文件,它经常包含非法字符序列。由于它似乎只是那个特定的序列,所以我想在我的 Python 脚本中用适当的等价物替换它。

这应该很简单,我想:

value = value.replace('\xE2\x80\x3f', u'”'.encode('utf8'))

但是,脚本没有运行 - 相反,它抛出一个错误:

语法错误:第 10 行文件 script.py 中的非 ASCII 字符 '\xe2',但未声明编码;有关详细信息,请参见 http://www.python.org/peps/pep-0263.html

是否有一种编码允许我将任何字符编码为字符串文字,本质上是告诉 Python 闭嘴,让我使用我想要的任何无效字符?

(注意:我使用的是 Python 2.7)

最佳答案

# -*- coding:utf-8 -*-

value = "What an amazing string \xE2\x80\x3f !!"

value = value.replace('\xE2\x80\x3f', u'”'.encode('utf8'))

print value

之所以可行,是因为 Python2 解释器将输入脚本文件读取为 ASCII 文件,并且不解码 UTF-8 字符。因为您将一个明确的 UTF-8 字符写入文件(即 ),您需要告诉解释器他必须将输入脚本文件作为 UTF-8 文件读取,而不是作为ASCII 文件。

另见 PEP0263关于源代码编码

关于python - python代码中明显非法的字符序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31512597/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com