利用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中使用pngquant压缩png图片的教程
Apr 09 Python
Python实现基于权重的随机数2种方法
Apr 28 Python
13个最常用的Python深度学习库介绍
Oct 28 Python
Python使用Matplotlib实现雨点图动画效果的方法
Dec 23 Python
Python从零开始创建区块链
Mar 06 Python
django使用LDAP验证的方法示例
Dec 10 Python
python查询文件夹下excel的sheet名代码实例
Apr 02 Python
Python+Selenium使用Page Object实现页面自动化测试
Jul 14 Python
Django中reverse反转并且传递参数的方法
Aug 06 Python
使用IPython或Spyder将省略号表示的内容完整输出
Apr 20 Python
Python无损压缩图片的示例代码
Aug 06 Python
python的setattr函数实例用法
Dec 16 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语言流程控制中的主动与被动
2012/11/05 PHP
一个不易被发现的PHP后门代码解析
2014/07/05 PHP
PHP经典面试题之设计模式(经常遇到)
2015/10/15 PHP
Zend Framework教程之模型Model基本规则和使用方法
2016/03/04 PHP
PHP实现QQ、微信和支付宝三合一收款码实例代码
2018/02/19 PHP
PHP实现通过二维数组键值获取一维键名操作示例
2019/10/11 PHP
简单的js分页脚本
2009/05/21 Javascript
下载网站打开页面后间隔多少时间才显示下载链接地址的代码
2010/04/25 Javascript
jquery.fileEveryWhere.js 一个跨浏览器的file显示插件
2011/10/24 Javascript
JavaScript使用Replace进行字符串替换的方法
2015/04/14 Javascript
jQuery实现的AJAX简单弹出层效果代码
2015/11/26 Javascript
vue.js单页面应用实例的简单实现
2017/04/10 Javascript
使用AngularJS对表单提交内容进行验证的操作方法
2017/07/12 Javascript
详解Layer弹出层样式
2017/08/21 Javascript
Vim快速合并行及vim 将文件所有行合并到一行
2017/11/27 Javascript
JSONP原理及应用实例详解
2018/09/13 Javascript
vue+echarts实现动态绘制图表及异步加载数据的方法
2018/10/17 Javascript
微信小程序开发注意指南和优化实践(小结)
2019/06/21 Javascript
javascript实现贪吃蛇游戏(娱乐版)
2020/08/17 Javascript
[03:31]DOTA2英雄基础教程 大地之灵
2013/12/17 DOTA
理解生产者消费者模型及在Python编程中的运用实例
2016/06/26 Python
Python基于TCP实现会聊天的小机器人功能示例
2018/04/09 Python
Linux下Python安装完成后使用pip命令的详细教程
2018/11/22 Python
Python实现的字典排序操作示例【按键名key与键值value排序】
2018/12/21 Python
Python Des加密解密如何实现软件注册码机器码
2020/01/08 Python
Python devel安装失败问题解决方案
2020/06/09 Python
Python高阶函数与装饰器函数的深入讲解
2020/11/10 Python
Python Selenium异常处理的实例分析
2021/02/28 Python
师范生实习的个人自我鉴定
2013/10/20 职场文书
毕业生护理专业个人求职信范文
2014/01/04 职场文书
新年晚会主持词
2014/03/24 职场文书
房地产端午节活动方案
2014/08/24 职场文书
科学发展观活动总结
2014/08/28 职场文书
贴吧吧主申请感言
2015/08/03 职场文书
学校隐患排查制度
2015/08/05 职场文书
Mysql数据库命令大全
2021/05/26 MySQL