gpt4 book ai didi

搜索字符串时python编码错误

转载 作者:太空宇宙 更新时间:2023-11-04 10:41:00 26 4
gpt4 key购买 nike

我在尝试搜索下面的字符串时遇到以下错误

错误:

SyntaxError: Non-ASCII character '\xd8' in file Hadith_scraper.py on line 44, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details

字符串:

دَّثَنَا عَبْدَانُ، قَالَ أَخْبَرَنَا عَبْ

代码:

arabic_hadith = "دَّثَنَا عَبْدَانُ، قَالَ أَخْبَرَنَا عَبْ"
arabic_hadith.encode('utf8')
print arabic_hadith
if "الجمعة" in arabic_hadith:‎
day = "5"
else:
day = ""

最佳答案

您有一个字节串,而不是unicode 值。尝试在 Python 2 中对字节字符串进行编码意味着 Python 将首先尝试将其解码为 unicode,以便随后进行编码。

在这里改用 unicode 值,并确保首先在文件顶部设置编解码器。参见 PEP 263 - Defining Python Source Code Encodings (您的错误消息指向您)。

请注意,这里不需要编码为 UTF8,这只会使文本比较复杂化:

# encoding: utf8
arabic_hadith = u"دَّثَنَا عَبْدَانُ، قَالَ أَخْبَرَنَا عَبْ"
print arabic_hadith
if u"الجمعة" in arabic_hadith:‎
day = "5"
else:
day = ""

经验法则:将来自传入源(文件、网络数据)的字节解码为 Unicode,在程序中仅处理 Unicode,并且仅对任何传出数据再次编码。

我建议你阅读:

在你继续之前。

关于搜索字符串时python编码错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20592976/

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