软连字符


本文作者: jsweibo

本文链接: https://jsweibo.github.io/2019/03/26/%E4%BB%80%E4%B9%88%E6%98%AF%E8%BD%AF%E8%BF%9E%E5%AD%97%E7%AC%A6/

摘要

本文主要讲述了:

  1. 什么是软连字符
  2. HTML 中的软连字符
  3. JavaScript 中的软连字符

正文

什么是软连字符

软连字符(Soft hyphen)是 1 个 Unicode 字符,Unicode 码点为U+00AD,UTF-8 编码是C2 AD

软连字符用于打断长英文单词或长阿拉伯数字,以便于在一行容纳不下时自动分成多行显示。

如果不使用软连字符,长英文单词和长阿拉伯数字会越过盒模型的边界。

和零宽度空格符的区别在于:

  • 零宽度空格符始终时不可见的
  • 软连字符在平时是不可见的,只有在分成多行显示时才能在上一行的行末看到

HTML 中的软连字符

在 HTML 中,以字符值引用或字符实体引用的形式使用软连字符。

示例:在 HTML 中使用软连字符。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
<title>Document</title>
</head>
<body>
<!-- 字符值引用 -->
<div>abc&#x00ad;def</div>
<!-- 字符实体引用 -->
<div>abc&shy;def</div>
</body>
</html>

JavaScript 中的软连字符

在 JavaScript 中,软连字符占据 1 字符串长度。

示例:在 JavaScript 中,以 UTF-16BE 编码的形式使用软连字符。

1
2
3
4
const foo = 'abc\u00addef';
const bar = 'abc\u{ad}def';
console.log(foo.length); // 7
console.log(bar.length); // 7

参考资料

本文作者: jsweibo

本文链接: https://jsweibo.github.io/2019/03/26/%E4%BB%80%E4%B9%88%E6%98%AF%E8%BD%AF%E8%BF%9E%E5%AD%97%E7%AC%A6/


本文对你有帮助?请支持我


支付宝
微信