利用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编写批量卸载手机中安装的android应用脚本
Jul 21 Python
Python+MongoDB自增键值的简单实现
Nov 04 Python
python3 图片 4通道转成3通道 1通道转成3通道 图片压缩实例
Dec 03 Python
python opencv实现信用卡的数字识别
Jan 12 Python
Python使用enumerate获取迭代元素下标
Feb 03 Python
python logging 重复写日志问题解决办法详解
Aug 04 Python
Pycharm2020.1安装无法启动问题即设置中文插件的方法
Aug 07 Python
详解pyqt5的UI中嵌入matplotlib图形并实时刷新(挖坑和填坑)
Aug 07 Python
利用python做数据拟合详情
Nov 17 Python
python接口测试返回数据为字典取值方式
Feb 12 Python
解决Python保存文件名太长OSError: [Errno 36] File name too long
May 11 Python
利用Python实现模拟登录知乎
May 25 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 URL地址获取函数代码(端口等) 推荐
2010/05/15 PHP
PHP系统命令函数使用分析
2013/07/05 PHP
php获取Google机器人访问足迹的方法
2015/04/15 PHP
PHP搭建大文件切割分块上传功能示例
2017/01/04 PHP
使用EXT实现无刷新动态调用股票信息
2008/11/01 Javascript
为指定元素增加样式的js代码
2009/12/09 Javascript
6款经典实用的jQuery小插件及源码(对话框/提示工具等等)
2013/02/04 Javascript
Javascript实现颜色rgb与16进制转换的方法
2015/04/18 Javascript
Extjs实现下拉菜单效果
2016/04/01 Javascript
老生常谈javascript的类型转换
2016/10/12 Javascript
js轮播图透明度切换(带上下页和底部圆点切换)
2017/04/27 Javascript
jquery实现图片轮播器
2017/05/23 jQuery
浅谈Vue-cli 命令行工具分析
2017/11/22 Javascript
JavaScript遍历数组的三种方法map、forEach与filter实例详解
2019/02/27 Javascript
three.js利用gpu选取物体并计算交点位置的方法示例
2019/11/25 Javascript
python定时检查启动某个exe程序适合检测exe是否挂了
2013/01/21 Python
使用py2exe在Windows下将Python程序转为exe文件
2016/03/04 Python
python利用有道翻译实现"语言翻译器"的功能实例
2017/11/14 Python
python 处理dataframe中的时间字段方法
2018/04/10 Python
对python周期性定时器的示例详解
2019/02/19 Python
解决pycharm下os.system执行命令返回有中文乱码的问题
2019/07/07 Python
python 使用socket传输图片视频等文件的实现方式
2019/08/07 Python
python使用matplotlib绘制雷达图
2019/10/18 Python
Django实现将一个字典传到前端显示出来
2020/04/03 Python
python如何实现图片压缩
2020/09/11 Python
Python实现哲学家就餐问题实例代码
2020/11/09 Python
Python爬虫简单运用爬取代理IP的实现
2020/12/01 Python
pyspark对Mysql数据库进行读写的实现
2020/12/30 Python
使用CSS3制作倾斜导航条和毛玻璃效果
2017/09/12 HTML / CSS
eBay英国购物网站:eBay.co.uk
2019/06/19 全球购物
软件工程专业推荐信
2013/10/28 职场文书
企业门卫岗位职责
2013/12/12 职场文书
一年级班主任感言
2014/03/08 职场文书
行政专员的岗位职责
2014/03/10 职场文书
2014年电厂个人工作总结
2014/11/27 职场文书
关于学习的决心书
2015/02/05 职场文书