利用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之从格式化表达式到方法
Sep 28 Python
Python中使用hashlib模块处理算法的教程
Apr 28 Python
Python变量和字符串详解
Apr 29 Python
ubuntu中配置pyqt4环境教程
Dec 27 Python
pandas系列之DataFrame 行列数据筛选实例
Apr 12 Python
python分数表示方式和写法
Jun 26 Python
通过Python编写一个简单登录功能过程解析
Sep 04 Python
Python socket模块方法实现详解
Nov 05 Python
Python os模块常用方法和属性总结
Feb 20 Python
浅析python 字典嵌套
Sep 29 Python
重构Python代码的六个实例
Nov 25 Python
win10+anaconda安装yolov5的方法及问题解决方案
Apr 29 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判断文章里是否有图片的简单方法
2014/07/26 PHP
PHP静态延迟绑定和普通静态效率的对比
2017/10/20 PHP
PHP PDOStatement::bindParam讲解
2019/01/30 PHP
php7 新增功能实例总结
2020/05/25 PHP
Javascript 不能释放内存.
2006/09/07 Javascript
js/jquery获取浏览器窗口可视区域高度和宽度以及滚动条高度实现代码
2012/12/17 Javascript
js中widow.open()方法使用详解
2013/07/30 Javascript
javascript转换日期字符串为Date日期对象的方法
2015/02/13 Javascript
jquery实现简单的表单验证
2015/11/17 Javascript
JavaScript实现简单的tab选项卡切换
2016/01/05 Javascript
关于angularJs清除浏览器缓存的方法
2017/11/28 Javascript
详解VUE 对element-ui中的ElTableColumn扩展
2018/03/28 Javascript
微信小程序全局变量功能与用法详解
2019/01/22 Javascript
基于 vue-skeleton-webpack-plugin 的骨架屏实战
2019/08/05 Javascript
html+jQuery实现拖动滑块图片拼图验证码插件【移动端适用】
2019/09/10 jQuery
详解vue beforeEach 死循环问题解决方法
2020/02/25 Javascript
jQuery三组基本动画与自定义动画操作实例总结
2020/05/09 jQuery
对python的bytes类型数据split分割切片方法
2018/12/04 Python
python单向链表的基本实现与使用方法【定义、遍历、添加、删除、查找等】
2019/10/24 Python
Python爬虫爬取煎蛋网图片代码实例
2019/12/16 Python
python定义类self用法实例解析
2020/01/22 Python
Tensorflow 定义变量,函数,数值计算等名字的更新方式
2020/02/10 Python
css3旋转木马_动力节点Java学院整理
2017/07/12 HTML / CSS
CSS3动画和HTML5新特性详解
2020/08/31 HTML / CSS
中国高端家电购物商城:顺电
2018/03/04 全球购物
十八届三中全会个人学习材料
2014/02/13 职场文书
《自选商场》教学反思
2014/02/14 职场文书
大学生英语演讲稿
2014/04/24 职场文书
上海世博会口号
2014/06/19 职场文书
教师节感谢信
2015/01/22 职场文书
委托书的样本
2015/01/28 职场文书
自我工作评价范文
2015/03/06 职场文书
公司趣味运动会开幕词
2016/03/04 职场文书
2019通用版导游词范本!
2019/08/07 职场文书
vue3如何优雅的实现移动端登录注册模块
2021/03/29 Vue.js
解决 Redis 秒杀超卖场景的高并发
2022/04/12 Redis