草庐IT

unicode_literals

全部标签

Python:在解析 JSON 字符串时处理损坏的 unicode 字节

我的代码使得从UserVoice站点获取一些内容。您可能知道,UserVoice是一款无法正确处理数据的糟糕软件;事实上,为了减少搜索页面上的文本量,他们将文本剪切为300个字符,然后在末尾添加一个“...”。事情是,他们不关心在多字节字符的中间进行切割,从而导致部分utf-8“字节”:例如。对于è字符,我得到的是\xc3而不是\xc3\xa8s。当然,当我将这个可怕的汤提供给json.loads时,它会因UnicodeDecodeError而失败。所以我的问题很简单:如何让json.loads忽略这些坏字节,就像我使用.decode('utf-8','忽略')如果我可以访问该函数的内

python - 使用 ast.literal_eval() 将字符串转换为日期时间的方法?

我有一个字符串"{'datetime':datetime.datetime(2010,11,21,0,56,58)}"我想将其转换为它所代表的对象。使用ast.literal_eval()给出:ValueError:malformedstring;因为它不允许构造对象(即datetime调用)。无论如何,要么让ast正确处理这个问题,要么保护eval以防止代码注入(inject)? 最佳答案 跟进IgnacioVazquez-Abrams'想法:importastimportdatetimedefparse_datetime_dic

Python 电子邮件模块 : form header "From" with some unicode name + email

我在Python电子邮件模块的帮助下生成电子邮件。这里有几行代码,可以证明我的问题:msg=email.MIMEMultipart.MIMEMultipart('alternative')msg['From']="somemail@somedomain.com"msg.as_string()Out[7]:'Content-Type:multipart/alternative;\nboundary="===============9006870443159801881=="\nMIME-Version:1.0\nFrom:somemail@somedomain.com\n\n--====

Python - Unicode 到 ASCII 的转换

我无法在不丢失数据的情况下将以下Unicode转换为ASCII:u'ABRA\xc3OJOS\xc9'我试过encode和decode,他们都不行。有人有什么建议吗? 最佳答案 Unicode字符u'\xce0'和u'\xc9'没有任何对应的ASCII值。因此,如果您不想丢失数据,则必须以某种有效的ASCII方式对该数据进行编码。选项包括:>>>prints.encode('ascii',errors='backslashreplace')ABRA\xc3OJOS\xc9>>>prints.encode('ascii',errors

python - 从 Python 字符串中删除零宽度空格 unicode 字符

我在Python中有这样一个字符串:u'\u200cHealth&Fitness'我怎样才能删除\u200c字符串的一部分? 最佳答案 您可以将其编码为ascii并忽略错误:u'\u200cHealth&Fitness'.encode('ascii','ignore')输出:'Health&Fitness' 关于python-从Python字符串中删除零宽度空格unicode字符,我们在StackOverflow上找到一个类似的问题: https://stac

python - 如何使用 boost.python 提取 unicode 字符串

当我这样做时,代码似乎会崩溃extract("aunicodestring")有人知道怎么解决吗? 最佳答案 这为我编译和工作,使用您的示例字符串并使用Python2.x:voidprocess_unicode(boost::python::objectu){usingnamespaceboost::python;constchar*value=extract(str(u).encode("utf-8"));std::cout你可以写aspecificfrom-pythonconverter,如果您希望将PyUnicode(@Pyt

Python:TypeError:Unicode 对象必须在散列之前编码

我正在尝试读取密码文件。然后,我尝试计算每个密码的散列值,并将其与我已经必须确定的散列值进行比较,以确定我是否已发现密码。但是,我不断收到的错误消息是“TypeError:Unicode对象必须在散列之前进行编码”。这是我的代码:fromhashlibimportsha256withopen('words','r')asf:forlineinf:hashedWord=sha256(line.rstrip()).hexdigest()ifhashedWord=='ca52258a43795ab5c89513f9984b8f3d3d0aa61fb7792ecefe8d90010ee39f2

python - unicode 在 Python 内部是如何表示的?

Unicode字符串在Python的内存中是如何按字面意思表示的?例如,我可以将'abc'可视化为它在内存中的等效ASCII字节。整数可以被认为是2的补码表示。但是u'\u2049',即使在UTF-8中表示为'\xe2\x81\x89'-3个字节长,我如何可视化内存中的文字u'\u2049'代码点?是否有特定的方式存储在内存中?Python2和Python3对它的处理方式不同吗?一些好奇的人的相关问题:1)HowarethesestringsrepresentedinternallyinPythoninterpreter?Idon'tunderstand2)Whatisinternal

Python unicode代码点到unicode字符

我正在尝试将一些中文、俄语或各种非英语字符集写到一个平面文件中以用于测试目的。我对如何将Unicode十六进制或十进制值输出到相应的字符感到困惑。例如在Python中,如果您有一组硬编码的字符,例如абвгдежзийкл,您可以分配value=u"абвгдежзийкл"并且没有问题。但是,如果您有一个十进制或十六进制小数,如1081/0439存储在一个变量中,并且您想用它对应的实际字符打印出来(而不仅仅是输出0x439),这将如何完成?上面的Unicode十进制/十六进制值是指©。 最佳答案 Python2:使用unichr(

Python Unicode 编码错误序号不在带欧元符号的 <128> 范围内

我必须用Python读取XML文件并抓取各种内容,我遇到了令人沮丧的Unicode编码错误,即使使用谷歌搜索我也无法弄清楚。以下是我的代码片段:#!/usr/bin/python#coding:utf-8fromxml.dom.minidomimportparseStringwithopen('data.txt','w')asfout:#doalotofstuffnameObj=data.getElementsByTagName('name')[0]name=nameObj.childNodes[0].nodeValue#...domorestufffout.write(','.joi