相关疑难解决方法(0)

在Python中将Unicode字符串转换为字符串(包含额外符号)

如何将Unicode字符串(包含££等额外字符)转换为Python字符串?

python string unicode type-conversion

486
推荐指数
8
解决办法
91万
查看次数

删除Python unicode字符串中重音的最佳方法是什么?

我在Python中有一个Unicode字符串,我想删除所有的重音符号(变音符号).

我在Web上发现了一种在Java中执行此操作的优雅方法:

  1. 将Unicode字符串转换为长标准化形式(字母和变音符号使用单独的字符)
  2. 删除Unicode类型为"变音符号"的所有字符.

我是否需要安装pyICU等库?或者只使用python标准库?那python 3怎么样?

重要说明:我想避免代码使用重音字符到非重音符号的显式映射.

python unicode diacritics python-2.x python-3.x

462
推荐指数
12
解决办法
23万
查看次数

在Python中将Unicode转换为ASCII而没有错误

我的代码只是抓取一个网页,然后将其转换为Unicode.

html = urllib.urlopen(link).read()
html.encode("utf8","ignore")
self.response.out.write(html)
Run Code Online (Sandbox Code Playgroud)

但我得到一个UnicodeDecodeError:


Traceback (most recent call last):
  File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/ext/webapp/__init__.py", line 507, in __call__
    handler.get(*groups)
  File "/Users/greg/clounce/main.py", line 55, in get
    html.encode("utf8","ignore")
UnicodeDecodeError: 'ascii' codec can't decode byte 0xa0 in position 2818: ordinal not in range(128)
Run Code Online (Sandbox Code Playgroud)

我认为这意味着HTML包含一些在某处错误形成的Unicode尝试.我可以删除导致问题的任何代码字节而不是出错吗?

python unicode ascii utf-8 character-encoding

170
推荐指数
9
解决办法
46万
查看次数

在python中将unicode字符串近似转换为ascii字符串

不知道这是否是微不足道的,但我需要将一个unicode字符串转换为ascii字符串,我不想让所有那些逃避字符.我的意思是,是否有可能对一些非常相似的ascii字符进行"近似"转换?

例如:Gavin O'Connor被转换为Gavin O\x92Connor,但我真的希望它被转换为Gavin O'Connor.这可能吗?有没有人写一些工具来做,或者我是否必须手动更换所有的字符?

非常感谢你!马尔科

python string unicode ascii

21
推荐指数
4
解决办法
2万
查看次数

Python正则表达式将字符串中的非ascii字符转换为最接近的ascii等价物

我正在寻找简单的Python函数,它接受一个字符串并返回一个类似的字符串,但所有非ascii字符转换为它们最接近的ascii等价物.例如,应该删除变音符号等.我想象必须有一个非常规范的方法来做这个并且有很多相关的stackoverflow问题,但我找不到一个简单的答案所以它似乎值得一个单独的问题.

输入/输出示例:

"Étienne" -> "Etienne"
Run Code Online (Sandbox Code Playgroud)

python regex ascii character-encoding special-characters

12
推荐指数
2
解决办法
6261
查看次数

是否可以使用git来比较PowerPoint版本控制的版本?

我有一些PowerPoint文档,使用git进行版本控制。我想知道文件版本之间的区别。文字是最重要的,图像和格式并没有那么重要(至少目前还不是)。

git diff powerpoint git-diff

6
推荐指数
1
解决办法
3801
查看次数

Python的string.maketrans在家工作但在Google App Engine上失败

我在Google AppEngine(Python SDK)中有这个代码:

from string import maketrans 

intab =  u"ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ".encode('latin1') 
outtab = u"aaaaaaaaaaaaooooooooooooeeeeeeeecciiiiiiiiuuuuuuuuynn".encode('latin1') 
logging.info(len(intab))
logging.info(len(outtab))
trantab = maketrans(intab, outtab)
Run Code Online (Sandbox Code Playgroud)

当我在交互式控制台中运行代码时我没有问题,但是当我在GAE中尝试它时,我收到以下错误:

引发ValueError,"maketrans参数必须具有相同的长度"ValueError:maketrans参数必须具有相同的长度INFO 2009-12-03 20:04:02,904 dev_appserver.py:3038]"POST/backendsavenew HTTP/1.1"500 - INFO 2009-12 -03 20:08:37,649 admin.py:112] 106 INFO 2009-12-03 20:08:37,651 admin.py:113] 53 ERROR 2009-12-03 20:08:37,653 init .py:388] maketrans参数必须具有相同的长度

我无法弄清楚为什么它的尺寸增加了一倍.带代码的python文件保存为UTF-8.

在此先感谢您的帮助.

python google-app-engine translation internationalization

5
推荐指数
1
解决办法
2905
查看次数

python解码字符串问题

我从数据库中获取以下字符串:

'23:45 \xe2\x80\x93 23:59'  
Run Code Online (Sandbox Code Playgroud)

输出应该是这样的

'23:45 - 23:59'  
Run Code Online (Sandbox Code Playgroud)

我怎么解码这个?我试过utf-8解码但没有运气

>>> x.decode("utf-8")
u'23:45 \u2013 23:59'
Run Code Online (Sandbox Code Playgroud)

谢谢

python decoding

1
推荐指数
1
解决办法
2705
查看次数