日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

c#生成随机位数的汉字字符串

發布時間:2025/3/17 C# 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c#生成随机位数的汉字字符串 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

今天在網上查了下如何生成隨機漢字字符串的方法,現在一起分享供大家學習和參考。

public? string? aa() {

??????????? Encoding gb = Encoding.GetEncoding("gb2312");

??????????? //調用函數產生4個隨機中文漢字編碼
??????????? object[] bytes = CreateRegionCode(4);

??????????? //根據漢字編碼的字節數組解碼出中文漢字
??????????? 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 a1= str1 +"" +str2 +""+str3 +""+str4 ;
??????????? return a1;
???????
??????? }

?

???????? public static object[] CreateRegionCode(int strlength)
? {
? //定義一個字符串數組儲存漢字編碼的組成元素
? string[] rBase=new String [16]{"0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"};
???
? Random rnd=new Random();
???
? //定義一個object數組用來
? object[] bytes=new object[strlength];

? /**//*每循環一次產生一個含兩個元素的十六進制字節數組,并將其放入bject數組中
? 每個漢字有四個區位碼組成
? 區位碼第1位和區位碼第2位作為字節數組第一個元素
? 區位碼第3位和區位碼第4位作為字節數組第二個元素
? */
? for(int i=0;i<strlength;i++)
? {
? //區位碼第1位
? int r1=rnd.Next(11,14);
? string str_r1=rBase[r1].Trim();

? //區位碼第2位
? rnd=new Random(r1*unchecked((int)DateTime.Now.Ticks)+i);//更換隨機數發生器的

? //種子避免產生重復值
? int r2;
? if (r1==13)
? {
? r2=rnd.Next(0,7);
? }
? else
? {
? r2=rnd.Next(0,16);
? }
? string str_r2=rBase[r2].Trim();

? //區位碼第3位
? rnd=new Random(r2*unchecked((int)DateTime.Now.Ticks)+i);
? int r3=rnd.Next(10,16);
? string str_r3=rBase[r3].Trim();

? //區位碼第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=rBase[r4].Trim();

? //定義兩個字節變量存儲產生的隨機漢字區位碼
? byte byte1=Convert.ToByte(str_r1 + str_r2,16);
? byte byte2=Convert.ToByte(str_r3 + str_r4,16);
? //將兩個字節變量存儲在字節數組中
? byte[] str_r=new byte[]{byte1,byte2};

? //將產生的一個漢字的字節數組放入object數組中
? bytes.SetValue(str_r,i);
???
? }

? return bytes;

? }
  }

}

轉載于:https://www.cnblogs.com/seoer/archive/2012/01/11/2319241.html

總結

以上是生活随笔為你收集整理的c#生成随机位数的汉字字符串的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。