断行空格和非断行空格ascii字符之间的区别

问题描述 投票:0回答:3

我在 javascript 中有两个相同的字符串,其中有一些空格。当我使用

str.charCodeAt(n)
打印 ascii 值时,它显示的值为 32 和 160。我用 google 搜索了这些值,它显示为断行空格和非断行空格。那么任何人都可以解释一下这种行为是什么吗?

javascript ascii
3个回答
7
投票

正常(换行)空格和不间断空格之间的区别在于,文本显示和排版软件不应插入自动换行符来代替不间断空格。 (就好像不间断空格将其前后的单词连接成一个不可分割的单词。)相比之下,常规空格被视为可能断行的位置。

话虽如此,代码

160
实际上超出了常规(7 位)ASCII 的范围。
160
作为不间断空格(或
NBSP
)字符的解释来自 Latin1 (ISO8859-1) 字符集。 (在扩展 ASCII 中,
NBSP
字符的代码是
255
!)

参考资料:


2
投票

不间断空格是不会换行的空格。 由不间断空格分隔的两个单词将粘在一起并且不会换行。

另一方面,打破空格会打破。


0
投票

有趣的事实:对空格进行操作的 SQL 函数(例如 LTRIM())仅对分隔空格进行操作,而不对不间断空格进行操作。为了让它们处理您的字符串(例如,如果您导入有人使用不间断空格的数据),您需要首先将它们转换为中断空格。

© www.soinside.com 2019 - 2024. All rights reserved.