Cảm ơn Johannes, bạn đã cho tôi đi đúng hướng. Các mã mà tôi đã nhận nó làm việc trông như sau:
public string ConvertSuperscript(string value)
{
string stringFormKd = value.Normalize(NormalizationForm.FormKD);
StringBuilder stringBuilder = new StringBuilder();
foreach (char character in stringFormKd)
{
UnicodeCategory unicodeCategory = CharUnicodeInfo.GetUnicodeCategory(character);
if (unicodeCategory != UnicodeCategory.NonSpacingMark)
{
stringBuilder.Append(character);
}
}
return stringBuilder.ToString().Normalize(NormalizationForm.FormKC);
}
tôi đã cố gắng phân hủy kinh điển trước đây, nhưng nó cần sự phân hủy khả năng tương thích để làm việc đúng cách.
Nguồn
2010-04-20 14:18:27
Lưu ý rằng tất cả các siêu và bảng con trong Unicode đều có sự phân hủy thành các đối tượng ký tự bình thường của chúng. Vì vậy, nó sẽ hoạt động mà không có một câu lệnh 'switch' được mã hóa cứng của một sự lựa chọn các ký tự tùy ý. – Joey