Как мне перевести этот очень простой синтаксис C# в VB?
Я пытаюсь решить проблему с "недопустимыми высокими суррогатными символами" в строке.
Один из примеров, которые я нашел в интернете, показывает, как создать такую строку в C#
string s = "a\ud800b";
Человек, создавший этот пример, утверждает, что
s.Normalize();потерпеть неудачу.
И я в тупике. Независимо от того, что я пытаюсь сделать. VB.NET похоже, что результирующая строка всегда является хорошей, "нормализованной" строкой.
Как я могу воссоздать эту проблемную строку в VB.NET-что?
Что я уже пробовал:
Dim sFoo As String Dim bytes() As Byte bytes = {97, 216, 0, 98} sFoo = System.Text.Encoding.Unicode.GetString(bytes)
и я попробовал поменять местами байты для \ud800
Dim sFoo As String Dim bytes() As Byte bytes = {97, 0, 216, 98} sFoo = System.Text.Encoding.Unicode.GetString(bytes)
Я пробовал разные другие кодировки.... UTF7, utf8 в, кодировках utf32, BigEndianUnicode..... каждый раз, когда я пытаюсь проверить, является ли sFoo.IsNormalized он счастливо возвращает "True" и то .Вызов Normalize() всегда завершается успешно.....