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

首頁 > 編程 > Python > 正文

利用python3隨機生成中文字符的實現方法

2020-01-04 16:15:39
字體:
來源:轉載
供稿:網友

前言

運行環境在Python3.6下,Python2的解決方案網上有很多.,下面來一起看看詳細的介紹吧。

第一種方法:Unicode碼

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

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

這個方法比較簡單,但是有個小問題,unicode碼中收錄了2萬多個漢字,包含很多生僻的繁體字.

第二種方法:GBK2312

gbk2312對字符的編碼采用兩個字節相組合,第一個字節的范圍是0xB0-0xF7, 第二個字節的范圍是0xA1-0xFE.
對GBK2312編碼方式詳細的解釋請參看GBK2312編碼

import randomdef 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千多常用漢字.兩種方法的取舍就看需求了.

下面來給大家詳細介紹下關于Python基礎知識之encode和decode函數的相關內容,通過下面的簡單介紹,對大家理解上面的實現方法具有一定的參考價值,下面來一起看看吧。

ptyhon encode和decode函數

Python2.x中默認的編碼的基礎類型是unicode編碼的類型,在Python3.x才轉化為基于unicode的字符串。
那么我們在Python2.x的學習中就會遇到各種各樣的編碼問題,encode和decode函數就是很好的幫我們解決這樣問題的工具。
下面的程序中有詳細的介紹和例子!~

在Python2.x中:

u = u'中文' #顯示指定unicode類型對象u str = u.encode('gb2312') #以gb2312編碼對unicode對像進行編碼 str1 = u.encode('gbk') #以gbk編碼對unicode對像進行編碼 str2 = u.encode('utf-8') #以utf-8編碼對unicode對像進行編碼 u1 = str.decode('gb2312')#以gb2312編碼對字符串str進行解碼,以獲取unicode u2 = str.decode('utf-8')#如果以utf-8的編碼對str進行解碼得到的結果,將無法還原原來的unicode類型 

在Python3.x中:

u = '中文' #指定字符串類型對象u str = u.encode('gb2312') #以gb2312編碼對u進行編碼,獲得bytes類型對象str u1 = str.decode('gb2312')#以gb2312編碼對字符串str進行解碼,獲得字符串類型對象u1 u2 = str.decode('utf-8')#如果以utf-8的編碼對str進行解碼得到的結果,將無法還原原來的字符串內容 

但是我們在讀取、寫入文件的時候就要注意以文件的格式來判斷用什么方式來操作了,txt文件默認都是utf-8當然你也可以自己設定編碼格式。

我們在對txt文件進行操作時,最好都將編碼格式轉化為utf-8來方便操作吧!~

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對VEVB武林網的支持。  


注:相關教程知識閱讀請移步到python教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 安多县| 衡水市| 英德市| 石林| 龙山县| 卢氏县| 温州市| 彰武县| 河北省| 杂多县| 措美县| 舟山市| 孟津县| 静宁县| 益阳市| 织金县| 德保县| 大足县| 平江县| 罗江县| 东兰县| 沁阳市| 炉霍县| 凌源市| 洪江市| 衢州市| 米泉市| 永寿县| 永安市| 马山县| 荥经县| 霍林郭勒市| 怀集县| 沛县| 西吉县| 昌吉市| 丰原市| 元阳县| 卫辉市| 海宁市| 察隅县|