我正在阅读包含特殊字符½的来源.如何将其转换为1/2?该字符是句子的一部分,我仍然需要能够“正常”使用该字符串.我正在阅读网页资源,所以我不确定我是否会一直知道编码?
编辑:我试过看其他答案,但它们对我不起作用.他们似乎总是从以下事情开始:
s= u'£10"
但我已经收到错误:“没有声明编码”.但我知道我正在进行什么编码,或者这不重要吗?我只选一个吗?
解决方法:
迪特里希打败了我,但这里有一些关于设置源文件编码的更多细节:
因为您要搜索文字unicode½,所以您需要能够在源文件中编写它.不幸的是,Python解释器会阻塞任何unicode输入,除非您在前几行中使用注释指定该源文件的编码,如下所示:
# coding=utf8
# ... do stuff here ...
假设您的编辑器将文件保存为UTF-8.如果它使用不同的编码,请指定.有关详细信息,请参见PEP-0263.
一旦你指定了编码,你应该能够在你的代码中写下这个:
text = text.replace('½', '1/2')
网页编码
根据您下载页面的方式,您可能根本不需要担心这一点,大多数HTTP库会自动为您选择编码.
标签:python,unicode