国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

隨機(jī)生成漢字(摘錄保存的代碼)

2019-11-14 14:13:21
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

/// <summary>
/// 隨機(jī)生成漢字
/// </summary>
/// <param name="strlength">長(zhǎng)度(4位)</param>
/// <returns></returns>
public string CreateCode(int strlength)
{
//定義一個(gè)字符串?dāng)?shù)組儲(chǔ)存漢字編碼的組成元素
string[] r = new String[16] { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f" };
Random rnd = new Random();
//定義一個(gè)object數(shù)組用來(lái)
object[] bytes = new object[strlength];
/**/
/*每循環(huán)一次產(chǎn)生一個(gè)含兩個(gè)元素的十六進(jìn)制字節(jié)數(shù)組,并將其放入bject數(shù)組中
每個(gè)漢字有四個(gè)區(qū)位碼組成
區(qū)位碼第1位和區(qū)位碼第2位作為字節(jié)數(shù)組第一個(gè)元素
區(qū)位碼第3位和區(qū)位碼第4位作為字節(jié)數(shù)組第二個(gè)元素
*/
for (int i = 0; i < strlength; i++)
{
//區(qū)位碼第1位
int r1 = rnd.Next(11, 14);
string str_r1 = r[r1].Trim();
//區(qū)位碼第2位
rnd = new Random(r1 * unchecked((int)DateTime.Now.Ticks) + i);//更換隨機(jī)數(shù)發(fā)生器的種子避免產(chǎn)生重復(fù)值
int r2;
if (r1 == 13)
r2 = rnd.Next(0, 7);
else
r2 = rnd.Next(0, 16);
string str_r2 = r[r2].Trim();
//區(qū)位碼第3位
rnd = new Random(r2 * unchecked((int)DateTime.Now.Ticks) + i);
int r3 = rnd.Next(10, 16);
string str_r3 = r[r3].Trim();
//區(qū)位碼第4位
rnd = new Random(r3 * unchecked((int)DateTime.Now.Ticks) + i);
int r4;
if (r3 == 10)
{
r4 = rnd.Next(1, 16);
}
else if (r3 == 15)
{
r4 = rnd.Next(0, 15);
}
else
{
r4 = rnd.Next(0, 16);
}
string str_r4 = r[r4].Trim();
//定義兩個(gè)字節(jié)變量存儲(chǔ)產(chǎn)生的隨機(jī)漢字區(qū)位碼
byte byte1 = Convert.ToByte(str_r1 + str_r2, 16);
byte byte2 = Convert.ToByte(str_r3 + str_r4, 16);
//將兩個(gè)字節(jié)變量存儲(chǔ)在字節(jié)數(shù)組中
byte[] str_r = new byte[] { byte1, byte2 };
//將產(chǎn)生的一個(gè)漢字的字節(jié)數(shù)組放入object數(shù)組中
bytes.SetValue(str_r, i);
}


//獲取GB2312編碼頁(yè)(表)
Encoding gb = Encoding.GetEncoding("gb2312");

//根據(jù)漢字編碼的字節(jié)數(shù)組解碼出中文漢字
string str1 = gb.GetString((byte[])Convert.ChangeType(bytes[0], typeof(byte[])));
string str2 = gb.GetString((byte[])Convert.ChangeType(bytes[1], typeof(byte[])));
string str3 = gb.GetString((byte[])Convert.ChangeType(bytes[2], typeof(byte[])));
string str4 = gb.GetString((byte[])Convert.ChangeType(bytes[3], typeof(byte[])));
string txt = str1 + str2 + str3 + str4;


return txt;

}


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 昌邑市| 济源市| 宁津县| 惠来县| 台东县| 南京市| 永年县| 伊宁县| 鸡西市| 天津市| 西林县| 绩溪县| 德昌县| 景洪市| 土默特左旗| 桂林市| 桂平市| 青海省| 浏阳市| 永和县| 盐山县| 金阳县| 岑溪市| 枣阳市| 阳信县| 平顺县| 朝阳县| 花垣县| 海门市| 哈尔滨市| 清水河县| 通许县| 彝良县| 台中县| 余姚市| 巴彦淖尔市| 梓潼县| 宜阳县| 米脂县| 金山区| 蓬溪县|