2010-08-19 7 views

Antwort

4

Ich möchte den Standard-Algorithmus wissen, für Unicode-Zeichen in Klein Umwandlung, wie durch unicode.org vorgeschlagen.

Der grundlegende Algorithmus ist einfach die Klein jedes einzelnen Zeichen zu verketten (wie von der vorletzten Spalte in UnicodeData.txt definiert). Es gibt auch einig special rules mehrere Zeichenzuordnungen (© → I mit einer zusätzlichen KOMBINATION Punkt über die i), bedingte Mappings (Σ → ς am Ende eines Wortes, aber o sonst) zu handhaben, und sprachsensitiven Regeln (wie Türkisch ohne Punkte ı).

Auch folgen die meisten Programmiersprachen diesem vorgeschlagenen Standard?

Java tut. Python implementiert die Grundregeln, aber nicht die Sonderregeln. Und C hat keine standardisierte Unicode-Unterstützung.

+0

Wie wäre es mit Javascript? Folgt es dem Standard? – Albert

+1

JavaScript implementiert die grundlegenden Casing-Regeln, nicht jedoch die speziellen. – dan04

+1

Das ist eine tolle Info. Vielen Dank! – Albert

1

Die Programmiersprachen unterscheiden sich darin, wie gut sie Unicode unterstützen. Die meisten Unicode-Zeichen haben keinen eingebauten Typ. In der Regel wird es entweder in einer Bibliothek oder von Betriebssystemaufrufen verarbeitet.

beispielsweise C++ hat kein nativer Unicode-Zeichentyp, aber hat locale Unterstützung in stl (die als Teil der Sprache definiert ist). Ada hat einen nativen Typ Wide_Character sowie eine Bibliotheksunterstützung, um sie zu manipulieren.

+0

"Die meisten Unicode-Zeichen haben keinen eingebauten Typ": das trifft für neuere Sprachen nicht mehr zu. –

+2

Vielleicht, aber viele dieser "älteren" Sprachen (zB: Die C-Familie) sind immer noch sehr stark im Gebrauch. Viele dieser "moderneren Sprachen" bekommen mehr Druck als Gebrauch. Sie sind jedoch verfügbar, wenn die native Unicode-Unterstützung für Sie wichtig ist. –

+0

Danke für die Info! – Albert

2

.NET unterstützt Unicode und bietet integrierte Funktionen zum Umschalten zwischen Groß- und Kleinschreibung. Dies gilt wahrscheinlich auch für einige andere Sprachen.

+1

.NET ist keine Sprache. – mickeyf

+0

.NET ist eine Plattform, keine Sprache. Win32 hat auch Unicode-Unterstützung. –

+3

Aber es gilt für alle Sprachen mit dem .NET Framework, einschließlich C#, VB.NET, F #, etc. – Russ