连字符与破折号

文本中用于连接单词、表示范围、分隔插入语等的横线符号。连字符 (-)、半角破折号 (-)、全角破折号 (-) 虽然外观相似,但在 Unicode 中是不同的字符。

连字符与破折号是一组外观相似但用途各异的横线符号,在日常使用中极易混淆。Unicode 对它们做了明确区分:连字符减号 (U+002D)、连字符 (U+2010)、半角破折号 (U+2013)、全角破折号 (U+2014)、水平线 (U+2015) 等,多种横线字符各有定义。正确使用这些符号,直接关系到排版的专业程度。

连字符减号"-"(U+002D) 是 ASCII 中唯一的横线字符,可以直接从键盘输入。在编程中它充当减号运算符,在 URL 和文件名中用作单词分隔符。严格来说,这是一个兼顾连字符和减号功能的折中字符,但在实际使用中,绝大多数场景都由这一个字符覆盖。

半角破折号"-"(U+2013) 用于表示数值范围 (如 1990-2000、第 10-20 页) 或对比关系 (如北京-上海)。全角破折号"-"(U+2014) 用于分隔插入语或表示话语中断。在英文出版物中,这些用法有严格的区分规范,但在网页和日常文本中,通常用连字符减号代替。

在中文排版中,破折号的使用遵循 GB/T 15834 标准。中文破折号由两个全角破折号连用 (--) 组成,占两个汉字的宽度。它用于标示注释内容、话题转换或声音延长。值得注意的是,中文破折号中间不能断开,这与英文的 em dash 用法有所不同。此外,中文还使用全角连接号"-"(U+FF0D) 来连接相关项目。

从字符计数的角度看,这些横线字符虽然都算作 1 个字符,但字节数各不相同。连字符减号 (U+002D) 在 UTF-8 编码下占 1 个字节,半角破折号 (U+2013) 和全角破折号 (U+2014) 则占 3 个字节。在基于字节数的字符限制场景中,不同种类的横线符号消耗的字节数差异值得关注。

在编程领域,连字符减号能否用于标识符取决于具体语言。CSS 的类名和属性名允许使用连字符 (kebab-case),但 JavaScript 的变量名不允许。URL 路径中推荐使用连字符 (在 SEO 方面优于下划线),域名中也可以使用连字符 (但首尾位置不可)。

分享这篇文章