Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ZWNJ在python 3.3中未正确显示_Python_Unicode_Normalization_Python 3.3_Unicode Normalization - Fatal编程技术网

ZWNJ在python 3.3中未正确显示

ZWNJ在python 3.3中未正确显示,python,unicode,normalization,python-3.3,unicode-normalization,Python,Unicode,Normalization,Python 3.3,Unicode Normalization,我试图用ZWNJ替换用阿拉伯语字母书写的两个标记之间的空格,但函数返回的内容在屏幕上没有正确解码: >>> nm.normalize("رشته ها") 'رشته\u200cها' \u200应该被渲染成半个空间,放在这里的“شته”和“ها”之间,但它会像那样搞砸。我使用的是Python 3.3.3函数返回了一个字符串对象,其中包含\u200c字符,但Python向您展示了表示形式。\uxxx语法用于使表示作为调试值变得有用,现在您可以复制该表示并将其粘贴回Python

我试图用ZWNJ替换用阿拉伯语字母书写的两个标记之间的空格,但函数返回的内容在屏幕上没有正确解码:

>>> nm.normalize("رشته ها")
'رشته\u200cها'
\u200应该被渲染成半个空间,放在这里的“شته”和“ها”之间,但它会像那样搞砸。我使用的是Python 3.3.3

函数返回了一个字符串对象,其中包含
\u200c
字符,但Python向您展示了表示形式。
\uxxx
语法用于使表示作为调试值变得有用,现在您可以复制该表示并将其粘贴回Python并获得完全相同的值

换句话说,该功能完全按照广告所宣传的那样工作;空间确实被一个代码点所取代

如果要将字符串写入终端或控制台,请使用
print()

演示:


您可以看到,这里的字符5(索引4)是单个字符,而不是6个单独的字符。

ZWNJ不是半个空格,而是一个零宽度控制字符,用于防止连字行为。由此产生的任何间距都是由于相关字形的设计。
print(nm.normalize("رشته ها"))
>>> result = 'رشته\u200cها'
>>> len(result)
7
>>> result[4]
'\u200c'
>>> print(result)
رشته‌ها