这个代表元音变音的疯狂德语字符组合是什么?

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

我只是在解析以下网站

有人找到文字

und wären damit auch

起初,“ä”看起来非常好,但是一旦我检查它,就会发现这不是常规的“ä”(表示为 ascw 228),而是这个:

ascw: 97, char: a
ascw: 776, char: ¨

我以前从未见过这样表示的“ä”。

网站怎么会使用这种奇怪的字符组合?它可能带来什么好处?

text encoding diacritics
3个回答
5
投票

您在问题中没有提到的是使用的编码。很明显,它是基于 Unicode 的编码。

在 Unicode 中,代码点 U+0308(十进制为 776)是组合分音符。通过字母

a
和分音符,创建了德语字符
ä

确实有两种方法用元音变音来表示德语字符(在本例中为ä)。作为单个代码点:

U+00E4 latin small letter A with diaeresis

或者作为两个代码点的序列:

U+0061 latin small letter A
U+0308 combining diaeresis

类似地,您可以将两个代码点组合成大写的“Ä”:

U+0041 latin capital letter A
U+0308 combining diaeresis

在大多数情况下,Unicode 使用两个代码点,因为它需要更少的代码点来启用带有变音符号的广泛字符。然而,由于历史原因,带有德国变音符号和法国口音的字母存在特殊的代码点。

大多数编程语言的 Unicode 库都提供了对字符串进行“标准化”的功能,即,如果可能的话,将所有序列转换为单个代码点,或者将所有单个代码点扩展为两个代码点序列。另请参阅

Unicode 规范化形式

天哪,这是文件上传名称的答案或原始问题。

0
投票
Cannot convert argument 2 to ByteString because the character at index 6 has value 776 which is greater than 255

供日后参考。
    

使用“diaeresis”一词来描述正确表征的“umlaut”是错误的。两个元音放在一起的第二个上有分音符,表明它们应该分开发音。元音变音放在单个字母上,表示它的发音不同(德语中“um” = 变化,“laut” = 声音),就好像它与“e”组合在一起。

0
投票

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