it之路。

随机生成汉字

随机生成汉字

理解此代码需要稍微了解下汉字的编码知识

原理是这样的:首先随机生成区码,然后随机生成位码,最后调用.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) };
    }
}

posted @ 2009-07-24 17:35  3912.77  阅读(328)  评论(0编辑  收藏  举报