così ho visto Jon Skeet video e ci fu un esempio di codice:Invertire una stringa con caratteri accentati?
Avrebbe dovuto esserci un problema con il é
- dopo l'inversione, ma credo che non riesce a .NET2 (IMHO), in ogni caso ha fatto il lavoro per io e io abbiamo visto la stringa invertita corretta.
char[] a="Les Misérables".ToCharArray();
Array.Reverse(a);
string n= new string(a);
Console.WriteLine (n); //selbarésiM seL
Ma ho preso ulteriormente:
In ebraico c'è il "Alef" char: א
e posso aggiungere la punteggiatura come: אֳ
(che credo si compone di 2 caratteri - ancora visualizzato come uno)
Ma ora guarda cosa succede.
char[] a="Les Misאֳrables".ToCharArray();
Array.Reverse(a);
string n= new string(a);
Console.WriteLine (n); //selbarֳאsiM seL
C'era una scissione ...
posso capire perché sta succedendo:
Console.WriteLine ("אֳ".Length); //2
Così mi chiedevo se c'è una soluzione per questo tipo di problema in C# (o dovrei costruire il mio meccanismo ....)
[TextElementEnumerator] (http: //msdn.microsoft.com/en-us/library/system.globalization.textelementenumerator.aspx) potrebbe essere utile qui. –
Quindi 'א' sono due' caratteri '? – Jodrell
Dovresti aggiungere questo come risposta Michael. Stavo solo scrivendo, non c'è niente di simile in .NET ... Bel lavoro. –