利用python3随机生成中文字符的实现方法


Posted in Python onNovember 24, 2017

前言

运行环境在Python3.6下,Python2的解决方案网上有很多.,想学习python2实现的朋友们可以参考这篇文章:https://3water.com/article/34884.htm,下面来一起看看详细的介绍吧。

第一种方法: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编码

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千多常用汉字.两种方法的取舍就看需求了.

下面来给大家详细介绍下关于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来方便操作吧!~

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。  

Python 相关文章推荐
python备份文件的脚本
Aug 11 Python
详解Python中的__getitem__方法与slice对象的切片操作
Jun 27 Python
Python网络爬虫项目:内容提取器的定义
Oct 25 Python
Python matplotlib画图实例之绘制拥有彩条的图表
Dec 28 Python
Pandas Shift函数的基础入门学习笔记
Nov 16 Python
浅析Python 读取图像文件的性能对比
Mar 07 Python
postman模拟访问具有Session的post请求方法
Jul 15 Python
django框架两个使用模板实例
Dec 11 Python
Python3和pyqt5实现控件数据动态显示方式
Dec 13 Python
Python合并2个字典成1个新字典的方法(9种)
Dec 19 Python
Python如何生成xml文件
Jun 04 Python
简单了解Python多态与属性运行原理
Jun 15 Python
Python内置函数 next的具体使用方法
Nov 24 #Python
python中WSGI是什么,Python应用WSGI详解
Nov 24 #Python
python中print()函数的“,”与java中System.out.print()函数中的“+”功能详解
Nov 24 #Python
Python内置函数——__import__ 的使用方法
Nov 24 #Python
Django中login_required装饰器的深入介绍
Nov 24 #Python
Python多进程库multiprocessing中进程池Pool类的使用详解
Nov 24 #Python
pip安装Python库时遇到的问题及解决方法
Nov 23 #Python
You might like
PHP脚本的10个技巧(7)
2006/10/09 PHP
PHP弹出对话框技巧详细解读
2015/09/26 PHP
详解Yii实现分页的两种方法
2017/01/14 PHP
laravel 解决paginate查询多个字段报错的问题
2019/10/22 PHP
JavaScript 权威指南(第四版) 读书笔记
2009/08/11 Javascript
js写一个弹出层并锁屏效果实现代码
2012/12/07 Javascript
jQuery之ajax技术的详细介绍
2013/06/19 Javascript
jquery对ajax的支持介绍
2013/12/10 Javascript
JS简单实现动画弹出层效果
2015/05/05 Javascript
JS实现左右拖动改变内容显示区域大小的方法
2015/10/13 Javascript
js闭包引起的事件注册问题介绍
2016/03/29 Javascript
JS新包管理工具yarn和npm的对比与使用入门
2016/12/09 Javascript
BootStrap中
2016/12/10 Javascript
COM组件中调用JavaScript函数详解及实例
2017/02/23 Javascript
three.js绘制地球、飞机与轨迹的效果示例
2017/02/28 Javascript
jQuery插件FusionCharts实现的3D帕累托图效果示例【附demo源码】
2017/03/25 jQuery
JS实现留言板功能
2017/06/17 Javascript
js判断节假日实例代码
2017/12/27 Javascript
vue动态路由配置及路由传参的方式
2018/05/23 Javascript
深入浅出vue图片路径的实现
2019/09/04 Javascript
浅谈vue中$event理解和框架中在包含默认值外传参
2020/08/07 Javascript
Python入门篇之字典
2014/10/17 Python
python利用装饰器进行运算的实例分析
2015/08/04 Python
Python实现全角半角字符互转的方法
2016/11/28 Python
Python3.6.2调用ffmpeg的方法
2019/01/10 Python
美国巧克力喷泉品牌:Sephra
2019/05/05 全球购物
英语专业大学生求职简历的自我评价
2013/10/18 职场文书
清明节扫墓活动方案
2014/03/02 职场文书
采购求职信
2014/03/17 职场文书
三月学雷锋月活动总结
2014/04/28 职场文书
绿色家庭事迹材料
2014/05/01 职场文书
作风转变心得体会
2014/09/02 职场文书
2014公安机关纪律作风整顿思想汇报
2014/09/13 职场文书
教师师德师风个人整改方案
2014/09/18 职场文书
教师党的群众路线教育实践活动个人整改措施
2014/11/04 职场文书
贫困证明书范文
2015/06/16 职场文书