python - 翻译特殊字符 ½

标签 python unicode

我正在阅读包含特殊字符 ½ 的资源。如何将其转换为 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/

相关文章:

python - 在 Python 中使用 sorted()

python - 为 couchdb 指定附件编码

python - 将 OneClassSVM 与 GridSearchCV 结合使用

delphi - CP_UTF8 是 WriteConsoleA/WriteFile 支持的代码页吗?

javascript - Unicode 6.0 + React PWA

html - Zalgo 文本如何工作?

c++ - 如何在 Linux/OS X 上打印 wstring?

python - 将矩阵展平为包含值索引位置的数组

python - "math.floor(x)"和 "int(x)"是否在 Python 中对正实数产生不同的结果?

python - NameError:名称 'unicode' 未定义