最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

利用python3隨機(jī)生成中文字符的實(shí)現(xiàn)方法

 更新時(shí)間:2017年11月24日 10:48:28   作者:雷子-LL  
最近在學(xué)習(xí)python3,發(fā)現(xiàn)網(wǎng)上關(guān)于ptyhon3隨機(jī)生成中文的資料非常少,所以決定將自己實(shí)現(xiàn)的方法分享下,下面這篇文章主要給大家介紹了關(guān)于利用python3隨機(jī)生成中文字符的實(shí)現(xiàn)方法,需要的朋友可以參考借鑒,下面來(lái)一起看看吧。

前言

運(yùn)行環(huán)境在Python3.6下,Python2的解決方案網(wǎng)上有很多.,想學(xué)習(xí)python2實(shí)現(xiàn)的朋友們可以參考這篇文章:http://www.fzitv.net/article/34884.htm,下面來(lái)一起看看詳細(xì)的介紹吧。

第一種方法:Unicode碼

在unicode碼中,漢字的范圍是(0x4E00, 9FBF)

import random

def Unicode():
 val = random.randint(0x4e00, 0x9fbf)
 return chr(val)

這個(gè)方法比較簡(jiǎn)單,但是有個(gè)小問(wèn)題,unicode碼中收錄了2萬(wàn)多個(gè)漢字,包含很多生僻的繁體字.

第二種方法:GBK2312

gbk2312對(duì)字符的編碼采用兩個(gè)字節(jié)相組合,第一個(gè)字節(jié)的范圍是0xB0-0xF7, 第二個(gè)字節(jié)的范圍是0xA1-0xFE.
對(duì)GBK2312編碼方式詳細(xì)的解釋請(qǐng)參看GBK2312編碼

import random

def GBK2312():
 head = random.randint(0xb0, 0xf7)
 body = random.randint(0xa1, 0xfe)
 val = f'{head:x}{body:x}'
 str = bytes.fromhex(val).decode('gb2312')
 return str

GBK2312收錄了6千多常用漢字.兩種方法的取舍就看需求了.

下面來(lái)給大家詳細(xì)介紹下關(guān)于Python基礎(chǔ)知識(shí)之encode和decode函數(shù)的相關(guān)內(nèi)容,通過(guò)下面的簡(jiǎn)單介紹,對(duì)大家理解上面的實(shí)現(xiàn)方法具有一定的參考價(jià)值,下面來(lái)一起看看吧。

ptyhon encode和decode函數(shù)

Python2.x中默認(rèn)的編碼的基礎(chǔ)類(lèi)型是unicode編碼的類(lèi)型,在Python3.x才轉(zhuǎn)化為基于unicode的字符串。
那么我們?cè)赑ython2.x的學(xué)習(xí)中就會(huì)遇到各種各樣的編碼問(wèn)題,encode和decode函數(shù)就是很好的幫我們解決這樣問(wèn)題的工具。
下面的程序中有詳細(xì)的介紹和例子!~

在Python2.x中:

u = u'中文' #顯示指定unicode類(lèi)型對(duì)象u 
str = u.encode('gb2312') #以gb2312編碼對(duì)unicode對(duì)像進(jìn)行編碼 
str1 = u.encode('gbk') #以gbk編碼對(duì)unicode對(duì)像進(jìn)行編碼 
str2 = u.encode('utf-8') #以u(píng)tf-8編碼對(duì)unicode對(duì)像進(jìn)行編碼 
u1 = str.decode('gb2312')#以gb2312編碼對(duì)字符串str進(jìn)行解碼,以獲取unicode 
u2 = str.decode('utf-8')#如果以u(píng)tf-8的編碼對(duì)str進(jìn)行解碼得到的結(jié)果,將無(wú)法還原原來(lái)的unicode類(lèi)型 

在Python3.x中:

u = '中文' #指定字符串類(lèi)型對(duì)象u 
str = u.encode('gb2312') #以gb2312編碼對(duì)u進(jìn)行編碼,獲得bytes類(lèi)型對(duì)象str 
u1 = str.decode('gb2312')#以gb2312編碼對(duì)字符串str進(jìn)行解碼,獲得字符串類(lèi)型對(duì)象u1 
u2 = str.decode('utf-8')#如果以u(píng)tf-8的編碼對(duì)str進(jìn)行解碼得到的結(jié)果,將無(wú)法還原原來(lái)的字符串內(nèi)容 

但是我們?cè)谧x取、寫(xiě)入文件的時(shí)候就要注意以文件的格式來(lái)判斷用什么方式來(lái)操作了,txt文件默認(rèn)都是utf-8當(dāng)然你也可以自己設(shè)定編碼格式。

我們?cè)趯?duì)txt文件進(jìn)行操作時(shí),最好都將編碼格式轉(zhuǎn)化為utf-8來(lái)方便操作吧!~

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。  

相關(guān)文章

最新評(píng)論

鱼台县| 秦皇岛市| 若羌县| 长垣县| 绵阳市| 营山县| 竹溪县| 桃源县| 文昌市| 枣强县| 秭归县| 青岛市| 泽普县| 唐河县| 太原市| 孝义市| 卢氏县| 堆龙德庆县| 郁南县| 深水埗区| 江门市| 桑植县| 乐山市| 平武县| 湘乡市| 揭西县| 贵港市| 大洼县| 大足县| 黔西县| 岳西县| 哈巴河县| 萍乡市| 宜宾县| 山丹县| 惠东县| 当雄县| 汉阴县| 泽库县| 卢龙县| 卢龙县|