程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

python隨機生成中文字符的方法

編輯:Python

運行環境在Python3.6下,Python2的解決方案網上有很多.

第一種方法:Unicode碼

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

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

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

第二種方法:GBK2312

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

''' 學習中遇到問題沒人解答?小編創建了一個Python學習交流QQ群:857662006 尋找有志同道合的小伙伴,互幫互助,群裡還有不錯的視頻學習教程和PDF電子書! '''
import random
def GBK2312():
head = random.randint(0xb0, 0xf7)
body = random.randint(0xa1, 0xf9) # 在head區號為55的那一塊最後5個漢字是亂碼,為了方便縮減下范圍
val = f'{
head:x}{
body:x}'
str = bytes.fromhex(val).decode('gb2312')
return str

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


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved