981377660LMT / ts

ts学习
6 stars 1 forks source link

不可见字符中的空格 #430

Open 981377660LMT opened 7 months ago

981377660LMT commented 7 months ago

在 JavaScript 中,你可以使用 \u00A0 来在字符串中添加一个不可见的空格字符。这是 Unicode 编码中的 "NO-BREAK SPACE" 字符。

例如:

const text = '这是一个\u00A0例子'

除了 \u00A0(不断行的空格)之外,还有其他一些 Unicode 中的不可见字符,例如:

这些字符在视觉上都是空格,但在计算机处理文本时,它们是不同的字符,可能会有不同的行为。

981377660LMT commented 7 months ago

En 空格和 Em 空格的宽度主要取决于当前字体的大小。

这两个名字来源于印刷术,Em 的宽度等于当前点数,而 En 的宽度则是 Em 的一半。

981377660LMT commented 7 months ago

这些都是 Unicode 中的空格字符,它们在视觉上都是空格,但在计算机处理文本时,它们是不同的字符,可能会有不同的行为。以下是它们的一些基本区别:

这些空格字符的具体宽度可能会因字体和排版环境的不同而有所不同。

981377660LMT commented 7 months ago
const SPACE_UNICODE = {
  ensp: "\u2002",
  emsp: "\u2003",
  nbsp: "\u00a0",
};
ensp:半个中文空格宽度
emsp:一个中文空格宽度
nbsp:一个半角英文空格宽度
\u2003 和 \u3000 都是全角空格字符