利用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 相关文章推荐
Django中使用group_by的方法
May 26 Python
Python程序中用csv模块来操作csv文件的基本使用教程
Mar 03 Python
Python+matplotlib+numpy绘制精美的条形统计图
Jan 02 Python
解决Ubuntu pip 安装 mysql-python包出错的问题
Jun 11 Python
Python面向对象之接口、抽象类与多态详解
Aug 27 Python
python之线程通过信号pyqtSignal刷新ui的方法
Jan 11 Python
浅谈pyqt5中信号与槽的认识
Feb 17 Python
python处理“
Jun 10 Python
python实现银行实战系统
Feb 26 Python
python 实现多维数组(array)排序
Feb 28 Python
python pillow库的基础使用教程
Jan 13 Python
python将图片转为矢量图的方法步骤
Mar 30 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 批量更新网页内容实现代码
2010/01/05 PHP
PHP开发中常用的字符串操作函数
2011/02/08 PHP
php入门学习知识点六 PHP文件的读写操作代码
2011/07/14 PHP
php过滤敏感词的示例
2014/03/31 PHP
php foreach正序倒序输出示例代码
2014/07/01 PHP
作为PHP程序员你要知道的另外一种日志
2018/07/30 PHP
js获取input标签的输入值实现代码
2013/08/05 Javascript
javascript实现2048游戏示例
2014/05/04 Javascript
ie8下修改input的type属性报错的解决方法
2014/09/16 Javascript
jQuery处理图片加载失败的常用方法
2015/06/08 Javascript
JavaScript实现的圆形浮动标签云效果实例
2015/08/06 Javascript
AngularJS 最常用的功能汇总
2016/02/17 Javascript
JavaScript知识点总结(六)之JavaScript判断变量数据类型
2016/05/31 Javascript
AngularJS  自定义指令详解及实例代码
2016/09/14 Javascript
jQuery实现根据生日计算年龄 星座 生肖
2016/11/23 Javascript
通俗解释JavaScript正则表达式快速记忆
2017/08/23 Javascript
javascript数组拍平方法总结
2018/01/20 Javascript
详解React项目的服务端渲染改造(koa2+webpack3.11)
2018/03/19 Javascript
妙用缓存调用链实现JS方法的重载
2018/04/30 Javascript
vue.js iview打包上线后字体图标不显示解决办法
2020/01/20 Javascript
JavaScript JSON使用原理及注意事项
2020/07/30 Javascript
python 图片验证码代码
2008/12/07 Python
pandas取出重复数据的方法
2019/07/04 Python
Python scipy的二维图像卷积运算与图像模糊处理操作示例
2019/09/06 Python
Python(PyS60)实现简单语音整点报时
2019/11/18 Python
python获取引用对象的个数方式
2019/12/20 Python
Python 元组拆包示例(Tuple Unpacking)
2019/12/24 Python
html5 css3实例教程 一款html5和css3实现的小机器人走路动画
2014/10/20 HTML / CSS
HTML5实现应用程序缓存(Application Cache)
2020/06/16 HTML / CSS
意大利火车票和铁路通行证专家:ItaliaRail
2019/01/22 全球购物
乔迁之喜主持词
2014/03/27 职场文书
2014光棍节大学生联谊活动方案
2014/10/10 职场文书
英文升职感谢信
2015/01/23 职场文书
毕业设计致谢语
2015/05/14 职场文书
《牧场之国》教学反思
2016/02/22 职场文书
工作转正自我鉴定范文
2019/06/21 职场文书