python随机生成中文字符的方法

Posted Python热爱者

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 = fhead:xbody:x
str = bytes.fromhex(val).decode(gb2312)
return str

GBK2312收录了6千多常用汉字.两种方法的取舍就看需求了.


以上是关于python随机生成中文字符的方法的主要内容,如果未能解决你的问题,请参考以下文章

Python生成8位随机字符串的方法分析

Python生成8位随机字符串的一些方法

生成大乐透号码

python基础-生成随机字符串方法

python用生成随机数的方法

MySQL生成随机字符串的三种方法