C#加载列表Unicode字符

| 我想加载一个列表,列表中的某些字符不是正常字符,因此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开始时,它会出错,因为它会自动转换为字符串,而unicode表示的字符是:£&½     
已邀请:
您是否尝试过替换此行:
m_Passwords.Add(sn[0], Encoding.ASCII.GetBytes(sn[1]));
与此:
m_Passwords.Add(sn[0], Encoding.Unicode.GetBytes(sn[1]));
    
您也可以使用Encoding.UTF8而不是Encoding.Unicode。如果大多数字符<= 127,它将需要较少的字节。     

要回复问题请先登录注册