利用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编写网页爬虫脚本并实现APScheduler调度
Jul 28 Python
Python中asyncore的用法实例
Sep 29 Python
Python抓取手机号归属地信息示例代码
Nov 28 Python
python中MethodType方法介绍与使用示例
Aug 03 Python
Python判断两个对象相等的原理
Dec 12 Python
python实现对图片进行旋转,放缩,裁剪的功能
Aug 07 Python
python实现身份证实名认证的方法实例
Nov 08 Python
Python3 使用selenium插件爬取苏宁商家联系电话
Dec 23 Python
k-means 聚类算法与Python实现代码
Jun 01 Python
python 用pandas实现数据透视表功能
Dec 21 Python
详解Python常用的魔法方法
Jun 03 Python
详解Python函数print用法
Jun 18 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
五款常用mysql slow log分析工具的比较分析
2011/05/22 PHP
Laravel中如何增加自定义全局函数详解
2017/05/09 PHP
JS判断当前日期是否大于某个日期的实现代码
2012/09/02 Javascript
easyui Draggable组件实现拖动效果
2015/08/19 Javascript
jQuery实现简单滚动动画效果
2016/04/07 Javascript
Bootstrap中的Panel和Table全面解析
2016/06/13 Javascript
AngularJS ngModel实现指令与输入直接的数据通信
2016/09/21 Javascript
jQuery插件echarts去掉垂直网格线用法示例
2017/03/03 Javascript
详解Angular.js数据绑定时自动转义html标签及内容
2017/03/30 Javascript
详解angularjs 关于ui-router分层使用
2017/06/12 Javascript
vue.js,ajax渲染页面的实例
2018/02/11 Javascript
在移动端使用vue-router和keep-alive的方法示例
2018/12/02 Javascript
jquery向后台提交数组的代码分析
2020/02/20 jQuery
jquery实现手风琴案例
2020/05/04 jQuery
vuejs element table 表格添加行,修改,单独删除行,批量删除行操作
2020/07/18 Javascript
Python中操作MySQL入门实例
2015/02/08 Python
python创建列表并给列表赋初始值的方法
2015/07/28 Python
python实现超市管理系统(后台管理)
2019/10/25 Python
python pyinstaller打包exe报错的解决方法
2019/11/02 Python
Python爬虫+Tkinter制作一个翻译软件的示例
2021/02/20 Python
HTML5 本地存储实现购物车功能
2017/09/07 HTML / CSS
解析HTML5的存储功能和web SQL的相关操作方法
2016/02/19 HTML / CSS
维也纳通行证:Vienna PASS
2019/07/18 全球购物
俄罗斯女装店:12storeez
2019/10/25 全球购物
团队精神演讲稿
2013/12/31 职场文书
作风年建设汇报材料
2014/08/14 职场文书
党支部班子“四风”问题自我剖析材料
2014/09/28 职场文书
2015年小学校长工作总结
2015/05/19 职场文书
小马王观后感
2015/06/11 职场文书
优秀团员主要事迹材料
2015/11/05 职场文书
小学三年级数学教学反思
2016/02/16 职场文书
经典人生语录分享:不畏将来,不念过去,笑对当下
2019/12/12 职场文书
javascript代码简写的几种常用方式汇总
2021/08/23 Javascript
关于MySQL临时表为什么可以重名的问题
2022/03/22 MySQL
vmware虚拟机打不开vmx文件怎么办 ?vmware虚拟机vmx文件打开方法
2022/04/08 数码科技
Android存储中最基本的文件存储方式
2022/04/30 Java/Android