Convert unicode special symbol in python
我使用xlrd库读取了符号°C。 我得到的unicode值为u'\xb0C'。 但是我想将其用作普通字符串。
我看了几篇文章,包括下面的链接
将Unicode字符串转换为Python中的字符串(包含多余的符号)
它似乎在处理许多特殊信号。 但是在这种情况下,我只能看到没有°(度)的C。 任何帮助将非常感激
-
unicodedata.normalize(NFKD, uC).encode(ascii, ignore)返回最接近的ASCII表示形式oC。 这不是你想要的吗?
-
正如我上面提到的,我正在使用xlrd读取值,所以我只得到u xb0C。 有没有可能以其他格式阅读?
-
不。xlrd文档专门说,它们以Python unicode返回所有数据。 但是,您可以将返回的unicode对象转换为另一种编码(例如,UTF-8而不是ASCII),如答案中所述。
也许我听不懂,但是:
1 2
| >>> print u'\xb0C'.encode("UTF-8")
°C |
-
在这种情况下,print会转换unicode字符串。但是在我的情况下,我需要在另一个文件中写入C并生成pdf
-
只要您使用的"其他文件"和pdf生成工具都支持UTF-8(他们可能这样做),就可以使用is答案中提供的encode()方法将UTF-8编码的字符串写入到任何地方 它需要走。 您在此转换过程中使用哪些库,以及尝试写入哪些文件格式?
-
我在使用xlrd读取excel上的特殊重音字符时正在寻找这个
如果用"普通字符串"表示ASCII编码的字符串,那么您将无法完全执行所需的操作。 度数符号不是ASCII字符集的一部分,因此,您最好能做的就是删除它或将其转换为ASCII字符集的最佳近似字符。 您可以选择其他编码,但是必须确保与之交互的任何系统都可以使用您选择的编码。 UTF-8通常是一个安全的选择,几乎可以对任何可能遇到的字符进行编码。