草庐IT

utf8_unicode_cs

全部标签

Python 3 smtplib 发送带有 unicode 字符

我在Python3中使用smtplib通过电子邮件发送unicode字符时遇到问题。这在3.1.1中失败,但在2.5.4中有效:importsmtplibfromemail.mime.textimportMIMETextsender=to='ABC@DEF.com'server='smtp.DEF.com'msg=MIMEText('€10')msg['Subject']='Hello'msg['From']=sendermsg['To']=tos=smtplib.SMTP(server)s.sendmail(sender,[to],msg.as_string())s.quit()我尝

Python unicode规范化: is it correct to translate u'\xb 4' to u' \u0301'

看下面的片段:>>>importunicodedata>>>fromunicodedataimportnormalize,name>>>normalize('NFKD',u'\xb4')u'\u0301'>>>normalize('NFKD',u'a\xb4a')u'a\u0301a'>>>normalize('NFKC',u'a\xb4a')u'a\u0301a'>>>name(u'\xb4'),name(u'\u0301')('ACUTEACCENT','COMBININGACUTEACCENT')我试图了解将u'\xb4'转换为u'\u0301'的行为是否正确。为什么它用空格填充

带有utf8问题的python正则表达式

我得到一个包含多行纯utf-8文本的文件。比如下面,顺便说一句,是中文的。PROCESS:类型:关爱积分[NOTIFY]交易号:2012022900000109订单号:W12022910079166交易金额:0.01元交易状态:true2012-2-2910:13:08文件本身以utf-8格式保存。文件名为xx.txt这里是我的python代码,env是python2.7#coding:utf-8importrepattern=re.compile(r'交易金额:(\d+)元')forlineinopen('xx.txt'):match=pattern.match(line.decod

python - SQLAlchemy 的 Unicode 问题

我知道我在从Unicode转换时遇到问题,但我不确定问题出在哪里。我正在从HTML文件目录中提取有关最近欧洲之旅的数据。一些位置名称具有非ASCII字符(例如é、ô、ü)。我正在使用正则表达式从文件的字符串表示中获取数据。如果我打印我找到的位置,它们会打印字符,因此编码必须正确:LePré-Saint-Gervais,FranceHôtel-de-Ville,France我使用SQLAlchemy将数据存储在SQLite表中:Base=declarative_base()classPoint(Base):__tablename__='points'id=Column(Integer,p

python - 如何使 __repr__ 返回 unicode 字符串

我在对象x上调用了一个__repr__()函数,如下所示:val=x.__repr__()然后我想将val字符串存储到SQLite数据库中。问题是val应该是unicode。我试过了,没有成功:val=x.__repr__().encode("utf-8")和val=unicode(x.__repr__())你知道如何纠正这个问题吗?我正在使用Python2.7.2 最佳答案 对象的表示不应该是Unicode。定义__unicode__方法并将对象传递给unicode()。 关于pyth

Python UTF-16 CSV 阅读器

我有一个必须阅读的UTF-16CSV文件。Pythoncsv模块似乎不支持UTF-16。我正在使用python2.7.2。我需要解析的CSV文件很大,有几GB的数据。下面是JohnMachin问题的答案printrepr(open('test.csv','rb').read(100))输出内容只有abc的test.csv'\xff\xfea\x00b\x00c\x00'我认为csv文件是在美国的Windows机器上创建的。我正在使用MacOSXLion。如果我使用phihag提供的代码和包含一条记录的test.csv。使用的示例test.csv内容。下面是printrepr(open(

python - 在 lxml 中过滤无效 unicode 字符的主要方法?

众所周知certaincharacterranges在XML文档中是不允许的。我知道过滤掉这些字符的解决方案(例如[1]、[2])。遵循“不要重复自己”原则,我更愿意在一个中心点实现这些解决方案之一——现在,我必须在将任何可能不安全的文本提供给lxml之前对其进行清理>。有没有办法实现这一目标,例如通过子类化lxml过滤器类、捕获一些异常或设置配置开关?编辑:希望澄清一下这个问题,这里有一个示例代码:fromlxmlimportetreeroot=etree.Element("root")root.text=u'\uffff'root.text+=u'\ud800'print(etre

python - 如何在 xpath 字符串中使用 unicode? (统一码编码错误)

我通过Pythonapi在SeleniumRC中使用xpath。我需要点击一个文本为“提交»”的元素这是我遇到的错误:In[18]:sel.click(u"xpath=//a[text()='Submit\xbb')]")---------------------------------------------------------------------------UnicodeDecodeErrorTraceback(mostrecentcalllast)/Users/me/in()/Users/me/selenium.pyinclick(self,locator)282'loc

python - 是否有特定范围的 unicode 代码点可以检查表情符号?

表情符号是否占据明确定义的unicode范围?而且,是否有确定的方法来检查代码点是否是python2.7中的表情符号?我似乎找不到这方面的任何信息。一些消息来源指出了范围:\U0001f600-\U0001f650但例如,?有代码点\U0001f918在这个范围之外。谢谢。 最佳答案 regex支持通过Unicode属性匹配,但不幸的是它不(还?)支持emoji-specificproperties.届时,找到它们将非常简单:>>>regex.match(ur'\P{Emoji=yes}',u'?')#NOTE:Doesn't(ye

python - 在 setup.py 中使用 Unicode 元数据的正确方法是什么?

我正在使用setuptools为Python包编写setup.py,并希望在long_description字段中包含一个非ASCII字符:#!/usr/bin/envpythonfromsetuptoolsimportsetupsetup(...long_description=u"...",#inrealcodethisvalueisreadfromatextfile...)不幸的是,将unicode对象传递给setup()会导致以下两个命令中的任何一个出现UnicodeEncodeErrorpythonsetup.py--long-description|rst2htmlpyth