我正在阅读包含特殊字符 ½
的资源。如何将其转换为 1/2
?该字符是句子的一部分,我仍然需要能够“正常”使用该字符串。我正在阅读网页资源,所以我不确定我是否始终知道编码??
编辑:我试过查看其他答案,但它们对我不起作用。他们似乎总是以这样的方式开始:
s= u'£10"
但我已经收到一个错误:“没有声明编码”。但是我知道我正在使用什么编码,还是这无关紧要?我只选一个吗?
最佳答案
这真的是两个问题。
#1。解释 ½: 使用 unicodedata
模块。您可以询问字符的数值,也可以使用规范规范化形式对其进行规范化并自行解析。
>>> import unicodedata
>>> unicodedata.numeric(u'½')
0.5
>>> unicodedata.normalize('NFKC', u'½')
'1⁄2'
#2。编码问题:如果您使用的是终端,请确保 Python 知道终端编码。如果您正在编写源文件,请确保 Python 知道文件编码。您不能只是“选择”一种编码来为 Python 设置,您必须告知 Python 您的终端/文本编辑器已经使用的编码。
Python 允许您使用 Vim/Emacs 样式的注释设置文件的编码。如果您使用 Vim,请在文件顶部添加注释,如下所示:
# coding=UTF-8
或者这个,如果你使用 Emacs:
# -*- coding: UTF-8 -*-
如果您既不使用 Vim 也不使用 Emacs,那么使用哪一个都无关紧要。显然,如果您不使用 UTF-8,则应替换为您实际使用的编码。 (UTF-8 是我唯一可以推荐的编码。)
关于python - 翻译特殊字符 ½,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8958844/