当前位置: 代码迷 >> python >> 如何合并Unicode以在Python 2输出中工作?
  详细解决方案

如何合并Unicode以在Python 2输出中工作?

热度:27   发布时间:2023-06-14 08:45:08.0

我有一些使用结合unicode的字符串,但是无法获取Python 2.7来正确显示它们。

例如我有

"IJK\818\773LMN"

应显示为*

IJK??LMN

而是显示为

JK\818?LMN

当我

from __future__ import (print_function, unicode_literals)
print("IJK\818\773LMN")

要么

from __future__ import (print_function, unicode_literals)
print(unicode("IJK\818\773LMN").encode('utf-8'))

我可以确认要打印到的设备可以正确显示合并的unicode。

如何合并Unicode以在Python 2.7输出中工作?


OS X:10.11.1; 自制Python 2.7.10_2

* 实际上,这也可能不会在您的浏览器中正确显示。 但是它在我的屏幕中正确显示:“ K”上方和下方的条形。

您正在使用Python表示法进行八进制转义,而不是Unicode代码点。 例如,如果要包含和字符,则需要在Unicode字符串中使用\\uhhhh 十六进制转义序列:

>>> print u'IJK\u0332\u0305LMN'
IJK??LMN

这里的818十进制是0332十六进制,而773是0303十六进制。

您却得到了\\818 ,因为818不是有效的八进制数字(其中的数字在0-7范围内)。 八进制的\\773转换为

  相关解决方案