WinRT中是否有String.Normalize()的替代方法?

3

在WinRT中有没有string.Normalize()的替代方法?我想使用这种方法简单地从输入字符串中删除重音符号,但我在WinRT中找不到这个方法。

2个回答

5

我在这里发现了一个快速简短的解决方案,可以在WinRT中完美运行:点击此处

public static string RemoveAccents(this string accentedStr)
{
    byte[] tempBytes = Encoding.GetEncoding("ISO-8859-8").GetBytes(accentedStr);
    return Encoding.UTF8.GetString(tempBytes, 0, tempBytes.Length);
}

看起来,这个函数会将 Cyrillic 符号转换成问号。 - Yaroslav
2
这不是正确或明智的解决方案。将其转换为ISO-8859-8,然后再转换为UTF-8并不是Unicode规范化的做法。 - nexus

0

在WinRT中,您将找不到任何替代String.Normalize的方法,因为它作为.NET Core Profile的一部分可用于Metro样式应用程序。文档。如果您正在使用C ++,请参阅此问题


我使用C#,所以这并没有太大帮助。 - Martin Suchan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接