Frage

Ich bin auf die letzte Etappe meines Seils bekommen (eine skalierbare Version von String) -Implementierung. Offensichtlich möchte ich alle Operationen das gleiche Ergebnis wie die Operationen auf Strings, wann immer möglich geben.

Auf diese für Ordnungs Operationen ist ziemlich einfach, aber ich mache mir Sorgen um kulturabhängige Operationen korrekt umzusetzen. Vor allem, da ich weiß, nur zwei Sprachen und in beide kultursensible Operationen verhalten sich genau die gleichen wie Ordnungs Operationen tun!

So gibt es bestimmte Dinge, die ich testen konnte und zumindest etwas Vertrauen bekommen, dass ich die Dinge richtig mache? Ich weiß zum Beispiel, etwa ß SS gleich, wenn Fälle in deutscher Sprache zu ignorieren; über gepunktete und ungepunkteten i in Türkisch.

War es hilfreich?

Lösung

Surrogate Paare, wenn Sie planen, um sie zu unterstützen -. Einschließlich ungültigen Kombinationen (zum Beispiel nur einen Teil von einem)

Wenn Sie die Codierung und Decodierung tun, stellen Sie sicher, dass Sie genug Zustand beibehalten zu bewältigen willkürlich Blöcke von binären Daten gegeben wird, zu entschlüsseln, die auf halben Weg durch ein Zeichen enden kann, mit der verbleibenden Hälfte in dem nächsten Zeichen kommen.

Andere Tipps

Der türkische Test ist das Beste, was ich weiß:)

Sie sollten die Methoden von String-Implementierungen imitieren und die Core-Bibliothek verwenden, um dies zu tun für Sie. Es ist sehr schwer zu berücksichtigen jeden möglichen Aspekt jeder Kultur zu nehmen. Anstelle die Wiederfindung des Rad Verwendung Reflektor auf den String-Methoden und die internen Anrufe sehen. Zum Beispiel verwendet String.Compare CultureInfo.CurrentCulture.CompareInfo.Compare 2 Strings in der aktuellen Kultur zu vergleichen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top