随机生成汉字
随机生成汉字
理解此代码需要稍微了解下汉字的编码知识
原理是这样的:首先随机生成区码,然后随机生成位码,最后调用.NET中的类解码为汉字
class Program
{
static void Main(string[] args)
{
ArrayList same = new ArrayList();
ArrayList l = new ArrayList();
int j = 450;
for (int i = 0; i < j; i++)
{
string a = getcharactor();
if (l.Contains(a))
{
same.Add(a);
}
l.Add(a);
Console.Write(a+"\t");
System.Threading.Thread.Sleep(5);
}
if (same.Count > 0)
{
Console.WriteLine("相同字符:(个数{0})", same.Count);
foreach (string str in same)
{
Console.Write(str);
}
}
else
{
Console.WriteLine("没有出现相同字符");
}
Console.ReadKey();
}
static string getcharactor()
{
System.Text.Encoding e = System.Text.Encoding.GetEncoding(0);
string[] s=getrandombyte();
return e.GetString(new byte[] { Convert.ToByte(s[0],16), Convert.ToByte(s[1],16) }); ;
}
static string[] getrandombyte()
{
Random r = new Random();
int i = r.Next(16, 56);
int j = 0;
j = r.Next(1, i == 55 ? 90 : 95);
return new string[] { Convert.ToString(i + 160, 16), Convert.ToString(j + 160, 16) };
}
}