Gleb Asked:2020-12-10 04:04:20 +0800 CST2020-12-10 04:04:20 +0800 CST 2020-12-10 04:04:20 +0800 CST \xa0 字符和简单空格有什么区别 772 好吧,假设我们有这样的例子(在python中) 一: print(repr(" "))(如果您通过问题预览复制此示例,那么将有一个空格而不是 \xa0,如果通过编辑器(编辑),那么它不会被替换) 2: print(repr(" ")) 其实它们并没有什么不同,只是第一个字符是\xa0,第二个是空格。 那么这个符号是什么?为什么需要它? python 2 个回答 Voted Best Answer jfs 2020-12-10T04:48:30+08:002020-12-10T04:48:30+08:00 这些是不同的字符: >>> import unicodedata >>> unicodedata.name("\xa0") 'NO-BREAK SPACE' >>> unicodedata.name("\x20") 'SPACE' NO-BREAK SPACE(不间断空格)的目的是防止自动换行符出现在它的位置。 不可打印字符在 repr 中转义,因此 NO-BREAK SPACE 变为 \xa0,而普通 SPACE 保持原样: >>> "\x20".isprintable() # SPACE True >>> "\xa0".isprintable() False user207618 2020-12-10T04:49:35+08:002020-12-10T04:49:35+08:00 \xa0是一个不间断的空间。 差异在wiki中有描述: 一种计算机文本编码元素,像普通空格一样出现在一行中,但防止显示和打印程序在该点中断行。用于自动化布局,其规则规定在某些情况下避免换行(主要是为了可读性)。
这些是不同的字符:
NO-BREAK SPACE(不间断空格)的目的是防止自动换行符出现在它的位置。
不可打印字符在 repr 中转义,因此 NO-BREAK SPACE 变为 \xa0,而普通 SPACE 保持原样:
\xa0
是一个不间断的空间。差异在wiki中有描述: