C # Загрузка списка Unicode Charcters - PullRequest
0 голосов
/ 13 апреля 2011

Я хочу загрузить список, некоторые символы в списке не являются нормальными символами, поэтому C # заменяет их на «?», Как мне обойти это?

Спасибо.

System.IO.StreamReader sr = new System.IO.StreamReader(of.FileName);

            string xd = sr.ReadToEnd();

            string[] qt = xd.Split(new string[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries);

            foreach (string text in qt)
            {
                string[] sn = text.Split(new string[] { ":" }, StringSplitOptions.RemoveEmptyEntries);

                listSNL.Items.Add(sn[0]);
                m_Passwords.Add(sn[0], Encoding.ASCII.GetBytes(sn[1]));
            }

            sr.Close();

Ни один из приведенных ниже ответов не сработал, при запуске в sr.ReadToEnd возникают ошибки, поскольку он автоматически преобразуется в строку, а под юникодом я имею в виду такие символы, как: £ & ½

Ответы [ 2 ]

2 голосов
/ 13 апреля 2011

Вы пытались заменить эту строку:

m_Passwords.Add(sn[0], Encoding.ASCII.GetBytes(sn[1]));

с этим:

m_Passwords.Add(sn[0], Encoding.Unicode.GetBytes(sn[1]));
1 голос
/ 13 апреля 2011

Вы также можете использовать Encoding.UTF8 вместо Encoding.Unicode. Если большинство символов <= 127, потребуется меньше байтов. </p>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...