Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why is "ss" equal to the German sharp-s character 'ß'?

Coming from this question I'm wondering why ä and ae are different(which makes sense) but ß and ss are treated as equal. I haven't found an answer on SO even if this question seems to be related and even mentions "that ß will compare equal to SS in Germany, or similar" but not why.

The only resource on MSDN I found was this: How to: Compare Strings

Here is mentioned following but also lacks the why:

// "They dance in the street."  // Linguistically (in Windows), "ss" is equal to  // the German essetz: 'ß' character in both en-US and de-DE cultures.  ..... 

So why does this evaluate to true, both with de-DE culture or any other culture:

var ci = new CultureInfo("de-DE"); int result = ci.CompareInfo.Compare("strasse", "straße", CompareOptions.IgnoreNonSpace); // 0 bool equals = String.Equals("strasse", "straße", StringComparison.CurrentCulture); // true equals = String.Equals("strasse", "straße", StringComparison.InvariantCulture);  // true 
like image 518
Tim Schmelter Avatar asked Apr 24 '15 11:04

Tim Schmelter


People also ask

Why is ß an S?

According to the orthography in use in German prior to the German orthography reform of 1996, ⟨ß⟩ was written to represent [s]: word internally following a long vowel or diphthong: Straße, reißen; and. at the end of a syllable or before a consonant, so long as [s] is the end of the word stem: muß, faßt, wäßrig.

What does ß stand for?

In German, the letter ß is known as the eszett or scharfes (sharp) S. It's a special character, similar to the German umlaut you're probably used to seeing by now. But unlike those two dots above a, o or u, the eszett is written as a capital B-shaped character with a tail: ß.

What is ß called in English?

The German ligature (additional character): The letter ß, is also known as the "sharp S", "eszett" or "scharfes S", and is the only German letter that is not part of the Latin/Roman alphabet. The letter is pronounced (like the "s" in "see"). The ß is not used in any other language.

What is the ß in German called?

Founded in 1925, the “Schutzstaffel,” German for “Protective Echelon,” initially served as Nazi Party leader Adolf Hitler's (1889-1945) personal bodyguards, and later became one of the most powerful and feared organizations in all of Nazi Germany.


2 Answers

If you look at the Ä page, you'll see that not always Ä is a replacement for Æ (or ae), and it is still used in various languages.

The letter ß instead:

While the letter "ß" has been used in other languages, it is now only used in German. However, it is not used in Switzerland, Liechtenstein or Namibia.[1] German speakers in Germany, Austria, Belgium,[2] Denmark,[3] Luxembourg[4] and South Tyrol, Italy[5] follow the standard rules for ß.

So the ß is used in a single language, with a single rule (ß == ss), while the Ä is used in multiple languages with multiple rules.

Note that, considering that case folding is:

Case folding is primarily used for caseless comparison of text, such as identifiers in a computer program, rather than actual text transformation

The official Unicode 7.0 Case Folding Properties tells us that

00DF; F; 0073 0073; # LATIN SMALL LETTER SHARP S

where 00DF is ß and 0073 is s, so ß can be considered, for caseless comparison, as ss.

like image 184
xanatos Avatar answered Sep 28 '22 17:09

xanatos


Some background info for you. Taken from here.

Windows Alt Codes

In Windows, combinations of the ALT key plus a numeric code can be used to type a non-English character (accented letter or punctuation symbol) in any Windows application. More detailed instructions about typing accents with ALT keys are available. Additional options for entering accents in Windows are also listed in the Accents section of this Web site.

Note: The letters ü, ö, ä and ß can be replaced by "ue", "oe", "ae" or "ss" respectively.

German ALT Codes

Sym Windows ALT Code  Ä   ALT+0196 ä   ALT+0228 Ö   ALT+0214 ö   ALT+0246 Ü   ALT+0220 ü   ALT+0252 ß   ALT+0223 €   ALT+0128 

Taken from here.

In the German alphabet, the letter ß, called "Eszett" (IPA: [ɛsˈtsɛt]) or "scharfes S", in English "sharp S", is a consonant that evolved as a ligature of "long s and z" (ſz) and "long s over round s" (ſs). When speaking it is pronounced [s] (see IPA). Since the German orthography reform of 1996, it is used only after long vowels and diphthongs, while ss is written after short vowels. The name eszett comes from the two letters S and Z as they are pronounced in German. It is also called scharfes S (IPA: [ˈʃaɐ̯.fəs ˈʔɛs, ˈʃaː.fəs ˈʔɛs] in German, meaning "sharp S". Its Unicode encoding is U+00DF.

like image 28
Paul Zahra Avatar answered Sep 28 '22 17:09

Paul Zahra