【问题标题】:Encode a symbol python编码一个符号 python
【发布时间】:2013-08-14 11:59:21
【问题描述】:

我有一个符号作为输出,当我打印它时它显示为“”。所以我尝试x.encode('utf-8') 来取回符号,而不是。我查看了许多示例,但没有提供解决方案。

我该如何解决这个问题?

【问题讨论】:

  • 你的终端/控制台使用什么编码?
  • @MartijnPieters 我怎么知道??
  • 您使用的是什么操作系统?您使用的是什么终端或控制台程序?
  • print repr(x) 给了你什么?确切的代码点会很有帮助。
  • @MartijnPieters OS - Windows 7,我使用的是 python IDLE 2.7 版

标签: python python-2.7 decode encode


【解决方案1】:

您的控制台或终端字体不支持该代码点;否则它打印得很好。

但是,您的终端未配置为打印 UTF-8,因此打印 UTF-8 字节会导致垃圾。

您需要更改用于终端或控制台程序的字体,以显示该特定代码点。

但是,如果您在U+F0FC 中打印代码点,那么除了作为占位符字形之外,没有字体会打印它。那是私人使用的代码点,没有通用字体能够显示它。

在这种情况下,您必须将该代码点替换为其他内容,以表示该代码点在原始数据中所代表的内容。在聊天中你提到它是一个 Powerpoint 复选标记。您的输出仅限于 Windows 1252 codepage,因此您需要在该标准中选择一个字符,获取该字符的 unicode 代码点并将 U+F0FC 代码点替换为该值。

例如,如果您要使用 字符(1252 代码页中的十六进制 95,unicode 点 U+2022),那么您将私有代码点替换为:

someunicodestring.replace(u'\uf0fc', u'\u2022')

【讨论】:

  • 是否有对此进行测试的解决方案。因为这至少对我来说非常重要!!
猜你喜欢
  • 1970-01-01
  • 2014-09-17
  • 1970-01-01
  • 2012-03-18
  • 2016-09-19
  • 2017-04-17
  • 2018-04-17
  • 2017-03-09
  • 2021-11-19
相关资源
最近更新 更多