利用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打造出适合自己的定制化Eclipse IDE
Mar 02 Python
python爬取w3shcool的JQuery课程并且保存到本地
Apr 06 Python
windows下Python实现将pdf文件转化为png格式图片的方法
Jul 21 Python
学生信息管理系统python版
Oct 17 Python
pytorch对可变长度序列的处理方法详解
Dec 08 Python
python实现得到当前登录用户信息的方法
Jun 21 Python
python实现操作文件(文件夹)
Oct 31 Python
python selenium 执行完毕关闭chromedriver进程示例
Nov 15 Python
python爬虫开发之selenium模块详细使用方法与实例全解
Mar 09 Python
使用python-Jenkins批量创建及修改jobs操作
May 12 Python
python删除指定列或多列单个或多个内容实例
Jun 28 Python
用Python爬取英雄联盟的皮肤详细示例
Dec 06 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
异世界新番又来了,同样是从零开始,男主的年龄降到5岁
2020/04/09 日漫
PHP 遍历文件实现代码
2011/05/04 PHP
生成随机字符串和验证码的类的PHP实例
2013/12/24 PHP
PHP快速排序算法实现的原理及代码详解
2019/04/03 PHP
解决php extension 加载顺序问题
2019/08/16 PHP
基于PHP的登录和注册的功能的实现
2020/08/06 PHP
拖拉表格的JS函数
2008/11/20 Javascript
Dojo Javascript 编程规范 规范自己的JavaScript书写
2014/10/26 Javascript
js函数与php函数的区别实例浅析
2015/01/12 Javascript
移动Web中图片自适应的两种JavaScript解决方法
2015/06/18 Javascript
nodejs创建web服务器之hello world程序
2015/08/20 NodeJs
微信小程序 省市区选择器实例详解(附源码下载)
2017/01/05 Javascript
最全的JavaScript开发工具列表 总有一款适合你
2017/06/29 Javascript
小程序开发基础之view视图容器
2018/08/21 Javascript
微信小程序学习笔记之获取位置信息操作图文详解
2019/03/29 Javascript
微信小程序实现锚点功能
2019/11/20 Javascript
小程序登录之支付宝授权的实现示例
2019/12/13 Javascript
Vue仿Bibibili首页的问题
2021/01/21 Vue.js
[01:00]一分钟回顾2018DOTA2亚洲邀请赛现场活动
2018/04/07 DOTA
21行Python代码实现拼写检查器
2016/01/25 Python
Python 列表理解及使用方法
2017/10/27 Python
Python Numpy中数据的常用保存与读取方法
2020/04/01 Python
在python image 中实现安装中文字体
2020/05/16 Python
如何在sublime编辑器中安装python
2020/05/20 Python
Python应用实现处理excel数据过程解析
2020/06/19 Python
Python3基于plotly模块保存图片表格
2020/08/03 Python
基于Django集成CAS实现流程详解
2020/11/28 Python
经贸日语毕业生自荐信
2013/11/03 职场文书
培训讲师邀请函
2014/01/10 职场文书
学雷锋活动总结范文
2014/04/25 职场文书
会员活动策划方案
2014/08/19 职场文书
五好家庭事迹材料
2014/12/20 职场文书
导盲犬小Q观后感
2015/06/11 职场文书
二十年同学聚会感言
2015/07/30 职场文书
详解python中[-1]、[:-1]、[::-1]、[n::-1]使用方法
2021/04/25 Python
PHP中多字节字符串操作实例详解
2021/08/23 PHP