Pourquoi " ss "est-il égal au caractère" ß " de la sharp-s allemande?

Venir de cette question je me demandais pourquoi ä et ae sont différentes(ce qui est logique), mais ß et ss sont traités comme des égaux. Je n'ai pas trouvé de réponse sur Donc même si cette question semble être liée et mentionne même "que ß comparera égale à SS en Allemagne, ou similaire" mais pas pourquoi.

le seul la ressource sur MSDN que j'ai trouvé était ceci: Comment comparer des chaînes

est mentionné ci-dessous, mais manque également le pourquoi :

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

alors pourquoi cette évaluation à true , à la fois avec de-DE culture ou toute autre 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
32
demandé sur Community 2015-04-24 14:05:57

7 réponses

si vous regardez la page Ä , vous verrez que pas toujours Ä est un remplacement pour Æ (ou ae), et il est encore utilisé dans diverses langues.

la lettre ß à la place:

bien que la lettre "ß" ait été utilisée dans d'autres langues, elle n'est maintenant utilisée qu'en allemand. Toutefois, il n'est pas utilisé en Suisse, au Liechtenstein ou en Namibie.[1] germanophones en Allemagne, Autriche, Belgique, [2]] Le Danemark[3], Le Luxembourg[4] et le Tyrol du Sud (Italie) [5] appliquent les règles types pour ß.

ainsi le ß est utilisé dans une seule langue, avec une seule règle (ß == ss), tandis que le Ä est utilisé dans plusieurs langues avec plusieurs règles.

noter que, considérant que case folding est:

cas pliage est principalement utilisé pour la comparaison sans cas de texte, tels que les identificateurs dans un programme informatique, plutôt que la transformation réelle du texte

L'officiel Unicode 7.0 "1519230920 Affaire du" Pliage "Propriétés de la 151920920" nous dit que

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

où 00df est ß et 0073 est s, donc ß peut être considéré, pour une comparaison sans cas, comme SS.

27
répondu xanatos 2015-04-24 11:36:07

quelques informations pour vous. pris d'ici.

Windows Alt Codes

dans Windows, des combinaisons de la touche ALT et d'un code numérique peuvent être utilisées pour taper un caractère non-anglais (lettre accentuée ou symbole de ponctuation) dans n'importe quelle application Windows. Des instructions plus détaillées sur la saisie des accents avec les touches ALT sont disponibles. Des options supplémentaires pour entrer des accents dans Windows sont également répertoriés dans les Accents de la section de ce site Web.

Note: les lettres ü, ö, ä et ß peuvent être remplacées respectivement par "ue", "oe", "ae" ou "ss".

codes ALT allemands

Sym Windows ALT Code

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

pris d'ici.

dans l'alphabet allemand, la lettre ß, appelée " Eszett "(IPA: [ ❚ ]) ou "scharfes S", en anglais "sharp S", est une consonne qui a évolué comme une ligature de "long s et z" (ՓZ) et les "longues s de plus de rond s" (ſs). Quand on parle il est prononcé [s] (Voir IPA). Depuis la réforme de l'orthographe allemande de 1996, il est utilisé qu'après de longues voyelles et diphtongues, tandis que ss est écrit après les brèves. Le nom eszett vient des deux lettres S et Z comme elles sont prononcées en allemand. Il est également appelé scharfes S (IPA: [Tara].fəs ˈʔɛs, ˈʃaː.[traduction] en allemand, ce qui signifie "sharp S". Son encodage Unicode est U+00DF.

3
répondu Paul Zahra 2015-04-24 11:14:35

quelques faits historiques:

  • en Suisse allemand l'eszet a été éliminé et remplacé par ss dans les années 70 je pense

  • pour la conversion en majuscules la règle officielle allemande de remplacement a toujours été et est toujours eszet->SS, bien qu'une eszet en majuscules ait été définie pour unicode (U+1E9E) il y a quelques années. Je ne l'ai jamais vu n'importe où dans la nature encore!

  • de tels changements et remplacements N'ont pas été faits ou ont été nécessaires pour les trois umlaute äöü qui ont toujours eu des versions en majuscules appropriées ÄÖÜ à moins que vous ne les ayez pas. Les remplacer par ae,oe,ue n'est qu'une solution de contournement, mais ce n'est guère mieux que de remplacer un eszet par un beta ou un "B"..

ainsi les différents résultats de comparaison ont au moins un certain sens, bien que le traitement, en particulier le tri wrt n'est pas vraiment fiable uniforme en Allemagne entre dictionnaires ou annuaires, listes, index, etc..

2
répondu TaW 2015-04-24 17:30:57

attendez un demi-siècle.

cette année, après plus d'un siècle de disputes, l'allemand a ajouté officiellement le comme une majuscule valide de remplacement pour la version en minuscules ß . Il faudra un certain temps avant que les gens s'habituent à la nouvelle forme majuscule , mais dès que la version capitale dominera, il n'y aura aucune raison de continuer ce mal

String.Equals("Mr. Meißner", "Mr. Meissner", StringComparison.CurrentCulture) == true;

hack.

2
répondu Sebastian Wagner 2017-07-14 12:35:43

la plupart de ce que j'ai lu ici est vrai. Mais il y a quelques idées fausses en jeu, alors – comme un Allemand-permettez-moi de mettre les choses au clair:

ß/ß est une genuin en allemand lettre venant d'une ligature de ſs ou ſz mais jamais ss. C'est long-s suivi de s ou Z.

une syllabe s Moyenne en allemand est prononcée /z/ tandis qu'une syllabe s Début et fin est prononcée /s/. Comme la lettre z en allemand est toujours prononcée / ts/, il fallait un moyen distiguish ces cas plus rares, où la règle est brisé par l'ajout d'une autre lettre et enfin la formation que de ligature pour le cas où le milieu de la syllabe du son /s/, était nécessaire.

Le son /s/ ne jamais se passe dans genuin en allemand mots au début et juste en un mot étranger, où il est (tada! écrit avec sz: Szene. C'est ainsi que le besoin d'un capital ß (ß) s'est d'abord manifesté lors de l'utilisation de majuscules de mots entiers. ß et ss sont et non identiques, historiquement ſz et ß sont, c'est pourquoi il est appelé un "eszett"! Il y a certaines règles qui permettent la traduction ß à ss si ß n'est pas disponible ce qui n'est pas vrai dans les environnements modernes.

la majuscule droite de Maße est MAßE, et la majuscule droite de Masse est MASSE. Les deux sont des mots différents en allemand.

ainsi, en allemand réel, ss est / s / shorting la voyelle avant et ß est / s / après une longue voyelle. Hypothèse ss et ß être égal dans n'importe quelle comparaison est tout simplement faux parce qu'il pourrait forcer des mots de sens complètement différent étant égal. Période.

1
répondu rhavin 2015-08-09 06:36:30

parce que C'est ainsi que les Allemands définissent leur propre langue. Ou peut-être plus précisément: comment ceux qui définissent le tri/collation pour l'allemand ont défini comment les Allemands définissent la langue allemande.

de la même façon que l'anglais défie que le cas supérieur de i est I mais d'autres langues utilisant l'alphabet Latin (par ex. Turc) sont en désaccord.

0
répondu Richard 2015-04-24 11:09:17

en allemand le caractère ß (qui n'existe qu'en minuscules) sonne comme ss . Son usage change de temps en temps et beaucoup de gens confondent ß et ss . Si nous écrivions un mot comme Fuß (pied) dans toute la capitale nous écririons FUSS . Si un clavier ou une police ne supporte pas ß nous écrivons ss et il est (presque, la plupart du temps) correct.

Cela peut expliquer pourquoi ß et ss sont handeled comme l'équivalent s'il s'agit de tri.

-1
répondu DrKoch 2015-04-24 11:17:20