.NET 使用 UTF-16 进行字符串编码。这意味着:
.NET Rune 能够绕过代理对问题,例如他们的意外分手。因此,通过一个变量可以表达所有标量值。
var a = new Rune('a');
var grinnigFace = new Rune ( '\uD83D', '\uDE00' );
grinnnigFace.ToString();
"😀"
存在许多与字符串和字符类型相关的术语:符号、字符、象形图、表情符号、字形、脚本、字母、标记、标点符号、重音符号、变音符号、表情符号…….NET 选择使用 文本元素 作为含义的同义词是 Unicode 中的字素 +/ 簇。
请注意,所有表情符号序列都是单个字素簇:
使用“grapheme”也不是 100% 正确。
在语言学中,字素是书写系统的最小功能单位。
假设这个🧑🏿u200d🎄表情符号由以下序列组成:
几乎不可能有任何单元被视为书写系统的功能单元。
文档Unicode® 标准:技术简介更具体。
例如,在历史悠久的西班牙语排序中,“ll”;计为单个文本元素。但是,当输入西班牙语单词时,“ll”是两个单独的文本元素:“l”和“l”。
文本元素被编码为一个或多个字符的序列。其中某些序列称为组合字符序列,由一个基本字母和一个或多个组合标记组成,这些组合标记围绕基本字母呈现(在其上方、下方等)。例如,“a”序列后跟组合扬抑符“^”将呈现为“â”。
在文本/文本元素上可以看到 Unicode 和 .NET 之间的一些交集。尽管如此,相当不透明的术语统治是显而易见的。
https://www.vocabulary.com/dictionary/rune
符文是早期日耳曼文字中使用的字母。语言学家可能对符文感兴趣,因为它们是古代语言的证据,而神秘主义者可能会在算命中使用符文,一些人认为符文具有神奇的特性。
https://www.thefreedictionary.com/rune
- 1a:3 世纪至 13 世纪古日耳曼民族使用的几种字母表中的任何字符。
- 1b:另一个字母表中的类似字符,有时被认为具有魔力。
- 2:具有神秘意义的诗歌或咒语,尤其是魔咒。
深入研究后,“符文” 与 Unicode 使用的任何术语都不相同,似乎与日耳曼部落的书写系统紧密结合。据我所知,Rune 只不过是Unicode Scalar Value。 UCP 是通过 1:1 数字关系、代理对还是通过一系列的狗和猫来表达并不重要。可以说 .NET 即将为术语炖牛肉做出贡献:
所以,我在 Rune in .NET vs. other languages
找到了它Unicode 标准中未定义术语“符文”。该术语可以追溯到 UTF-8 的创建。 Rob Pike 和 Ken Thompson 正在寻找一个术语来描述最终被称为代码点的东西。 他们确定了“rune”这个术语,Rob Pike 后来对 Go 编程语言的影响帮助普及了这个术语。