首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >'chr(32)‘和'chr(0)’有什么区别?

'chr(32)‘和'chr(0)’有什么区别?
EN

Stack Overflow用户
提问于 2017-08-31 15:22:48
回答 4查看 15.6K关注 0票数 1

为什么我们都要有两个像空格这样的字符呢?为什么空间是chr(32)而不是chr(0)

还有chr(160)是半个空格??

EN

回答 4

Stack Overflow用户

发布于 2017-08-31 15:24:57

chr(0)实际上不是一个空格,它是一个空字符。chr(n)返回数字n的ASCII character

当您print(chr(0))时,它只打印空字符的表示形式,即nothing。

请注意:

代码语言:javascript
复制
>>> print('hi'+chr(0)+'hello')
hihello
>>> print('hi'+chr(32)+'hello')
hi hello

请注意,NULL不是None,甚至不是空字符串:

代码语言:javascript
复制
>>> chr(0) is None
False
>>> chr(0) == ''
False

从字面上看,它什么都不是。

票数 7
EN

Stack Overflow用户

发布于 2017-08-31 15:33:53

chr(0)NULL字符,这是非常重要的,而chr(32)' '。例如,NULL字符的作用是终止字符串。所以你看到的x = "abcd"是真正的x = "abcd\00",当然\00chr(0)是一样的。如果没有null字符,您将无法确定字符串的结尾,因为可能发生的情况是逐字节读取字符串,但是紧跟在"abcd"之后,内存中存储了其他内容,例如y = "efgh"。如果在x的末尾没有空字符,则调用print(x)将打印'abcdefgh',甚至可能打印更多非x的垃圾,因为计算机将不知道何时停止。

票数 3
EN

Stack Overflow用户

发布于 2017-08-31 15:27:18

如果没有错误,chr( int )将int(十进制值)转换为ascii code中的字符...

char(0)为空char(32)为空格

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45975573

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档