利用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 BeautifulSoup使用方法详解
Nov 21 Python
python基础教程之数字处理(math)模块详解
Mar 25 Python
Python如何快速实现分布式任务
Jul 06 Python
python之django母板页面的使用
Jul 03 Python
Python enumerate函数功能与用法示例
Mar 01 Python
Python实现字典按key或者value进行排序操作示例【sorted】
May 03 Python
Python 实现还原已撤回的微信消息
Jun 18 Python
Python使用numpy模块实现矩阵和列表的连接操作方法
Jun 26 Python
Python实现基于SVM的分类器的方法
Jul 19 Python
python正则表达式匹配不包含某几个字符的字符串方法
Jul 23 Python
matplotlib实现数据实时刷新的示例代码
Jan 05 Python
Pandas||过滤缺失数据||pd.dropna()函数的用法说明
May 14 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概述.
2006/10/09 PHP
深入分析php中接口与抽象类的区别
2013/06/08 PHP
使用swoole 定时器变更超时未支付订单状态的解决方案
2019/07/24 PHP
jQuery学习4 浏览器的事件模型
2010/02/07 Javascript
早该知道的7个JavaScript技巧
2013/03/27 Javascript
jquery1.10给新增元素绑定事件的方法
2014/03/06 Javascript
JavaScript实现把rgb颜色转换成16进制颜色的方法
2015/06/01 Javascript
JS组件Bootstrap Table使用方法详解
2016/02/02 Javascript
详细讲解JavaScript中的this绑定
2016/10/10 Javascript
js实现短信发送倒计时功能(正则验证)
2017/02/10 Javascript
分享ES6的7个实用技巧
2018/01/18 Javascript
js和jQuery以及easyui实现对下拉框的指定赋值方法
2018/01/23 jQuery
小程序实现锚点滑动效果
2019/09/23 Javascript
js 使用ajax设置和获取自定义header信息的方法小结
2020/03/12 Javascript
详解React的回调渲染模式
2020/09/10 Javascript
vue 表单输入框不支持focus及blur事件的解决方案
2020/11/17 Vue.js
[01:21:36]CHAOS vs Alliacne 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
Python 代码性能优化技巧分享
2012/08/07 Python
利用Python实现Windows定时关机功能
2017/03/21 Python
Python中pygal绘制雷达图代码分享
2017/12/07 Python
python3调用R的示例代码
2018/02/23 Python
python3.6.3+opencv3.3.0实现动态人脸捕获
2018/05/25 Python
python实现将多个文件分配到多个文件夹的方法
2019/01/07 Python
Python代码实现删除一个list里面重复元素的方法
2019/04/02 Python
python实现PDF中表格转化为Excel的方法
2020/06/16 Python
HTML5 canvas标签实现刮刮卡效果
2015/04/24 HTML / CSS
常见的软件开发流程有哪些
2015/11/14 面试题
甜品店的创业计划书范文
2014/01/02 职场文书
上党课的心得体会
2014/09/02 职场文书
2014年客户经理工作总结
2014/11/20 职场文书
画展邀请函
2015/01/31 职场文书
党支部创先争优公开承诺书
2015/04/30 职场文书
奖学金申请个人主要事迹材料
2015/11/04 职场文书
《哪吒之魔童降世》观后感:世上哪有随随便便的成功
2019/11/08 职场文书
如何利用pygame实现打飞机小游戏
2021/05/30 Python
html5+实现plus.io进行拍照和图片等获取
2022/06/01 HTML / CSS