Несоответствие культуры C # и языкового стандарта Java

Рассмотрим это сравнение:

String a = "\u00C4";       // "LATIN CAPITAL LETTER A WITH DIAERESIS"
String b = "\u0041\u0308"; // "LATIN CAPITAL LETTER A" and "COMBINING DIAERESIS"

Сравнение их в датской культуре C #, возвращает false:

Thread.CurrentThread.CurrentCulture = new CultureInfo("da-DK", false);
Console.WriteLine(a.Equals(b, StringComparison.CurrentCulture));   // false

Сравнение их в датской локали Java, возвращает истину:

System.out.println(Collator.getInstance(new Locale("Danish (Denmark)").equals(a,b)); // true

Я перечислил все локали / культуры в обеих средах и подтвердил, что выбраны правильные. Я что-то пропустил? В чем разница?

5
задан User 10 February 2011 в 12:21
поделиться