c#加载列表Unicode字符
本文关键字:字符 Unicode 列表 加载 | 更新日期: 2023-09-27 17:50:12
我想加载一个列表,列表中的一些字符不是正常字符,所以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开始时,它会出错,因为它会自动转换为字符串,我指的是像这样的字符:£&½
您试过替换这一行吗:
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,则需要更少的字节。