利用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判断字符串是否纯数字的方法
Nov 19 Python
Python中函数的参数定义和可变参数用法实例分析
Jun 04 Python
使用Python编写简单的端口扫描器的实例分享
Dec 18 Python
TensorFlow损失函数专题详解
Apr 26 Python
python向已存在的excel中新增表,不覆盖原数据的实例
May 02 Python
对Python 两大环境管理神器 pyenv 和 virtualenv详解
Dec 31 Python
python调用外部程序的实操步骤
Mar 04 Python
学python安装的软件总结
Oct 12 Python
Python面向对象编程基础实例分析
Jan 17 Python
python轮询机制控制led实例
May 03 Python
基于SQLAlchemy实现操作MySQL并执行原生sql语句
Jun 10 Python
Python中使用Lambda函数的5种用法
Apr 01 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
模拟SQLSERVER的两个函数:dateadd(),datediff()
2006/10/09 PHP
通过PHP自带的服务器来查看正则匹配结果的方法
2015/12/24 PHP
PHP使用XMLWriter读写xml文件操作详解
2018/07/31 PHP
JS图片预加载 JS实现图片预加载应用
2012/12/03 Javascript
jquery实现仿新浪微博评论滚动效果
2015/08/06 Javascript
js创建对象几种方式的优缺点对比
2016/09/28 Javascript
如何清除IE10+ input X 文本框的叉叉和密码输入框的眼睛图标
2016/12/21 Javascript
JavaScript原型继承_动力节点Java学院整理
2017/06/30 Javascript
javascript中call()、apply()的区别
2019/03/21 Javascript
解决vue中使用proxy配置不同端口和ip接口问题
2019/08/14 Javascript
JS函数进阶之继承用法实例分析
2020/01/15 Javascript
js实现轮播图效果 z-index实现轮播图
2020/01/17 Javascript
Vue项目结合Vue-layer实现弹框式编辑功能(实例代码)
2020/03/11 Javascript
Python将DataFrame的某一列作为index的方法
2018/04/08 Python
python实现批量修改图片格式和尺寸
2018/06/07 Python
python pexpect ssh 远程登录服务器的方法
2019/02/14 Python
使用GitHub和Python实现持续部署的方法
2019/05/09 Python
PyQt5 多窗口连接实例
2019/06/19 Python
python 实现提取log文件中的关键句子,并进行统计分析
2019/12/24 Python
jupyter notebook插入本地图片的实现
2020/04/13 Python
Python Scrapy图片爬取原理及代码实例
2020/06/12 Python
解决python 虚拟环境删除包无法加载的问题
2020/07/13 Python
浅谈对python中if、elif、else的误解
2020/08/20 Python
Python3如何在服务器打印资产信息
2020/08/27 Python
Python连接mysql方法及常用参数
2020/09/01 Python
基于Python制作一副扑克牌过程详解
2020/10/19 Python
网吧收银员岗位职责
2013/12/14 职场文书
大三毕业自我鉴定
2014/01/15 职场文书
教师业务学习制度
2014/01/25 职场文书
个人安全承诺书
2014/05/22 职场文书
水利专业大学生职业生涯规划书范文
2014/09/17 职场文书
党员检讨书
2014/10/13 职场文书
2014年流动人口工作总结
2014/11/26 职场文书
幼儿园新学期开学寄语
2015/05/27 职场文书
Python 处理表格进行成绩排序的操作代码
2021/07/26 Python
python数字图像处理之图像的批量处理
2022/06/28 Python