利用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 26 Python
python根据距离和时长计算配速示例
Feb 16 Python
python使用mailbox打印电子邮件的方法
Apr 30 Python
Python文件去除注释的方法
May 25 Python
wxPython定时器wx.Timer简单应用实例
Jun 03 Python
Python文件操作,open读写文件,追加文本内容实例
Dec 14 Python
Python实现两个list对应元素相减操作示例
Jun 09 Python
11月编程语言排行榜 Python逆袭C#上升到第4
Nov 15 Python
Pandas标记删除重复记录的方法
Apr 08 Python
Python多线程同步---文件读写控制方法
Feb 12 Python
Django发送邮件功能实例详解
Sep 02 Python
Python+logging输出到屏幕将log日志写入文件
Nov 11 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
第三节 定义一个类 [3]
2006/10/09 PHP
php自动给文章加关键词链接的函数代码
2012/11/29 PHP
php继承中方法重载(覆盖)的应用场合
2015/02/09 PHP
php生成图片缩略图功能示例
2017/02/22 PHP
PHP下 Mongodb 连接远程数据库的实例代码
2017/08/30 PHP
浅谈laravel 5.6 安装 windows上使用composer的安装过程
2019/10/18 PHP
JavaScript初学者建议:不要去管浏览器兼容
2014/02/04 Javascript
JS面向对象基础讲解(工厂模式、构造函数模式、原型模式、混合模式、动态原型模式)
2014/08/16 Javascript
js判断文本框输入的内容是否为数字
2015/12/23 Javascript
原生js实现百叶窗效果及原理介绍
2016/04/12 Javascript
jQuery过滤选择器经典应用
2016/08/18 Javascript
XMLHttpRequest Level 2 使用指南
2016/08/26 Javascript
jQuery实现手机版页面翻页效果的简单实例
2016/10/05 Javascript
使用Angular.js开发的注意事项
2016/10/19 Javascript
在JS中如何把毫秒转换成规定的日期时间格式实例
2017/05/11 Javascript
基于JS实现前端压缩上传图片的实例代码
2019/05/14 Javascript
[51:30]OG vs LGD 2018国际邀请赛淘汰赛BO3 第二场 8.26
2018/08/30 DOTA
python 实现归并排序算法
2012/06/05 Python
python实现划词翻译
2020/04/23 Python
详解Python的Django框架中的templates设置
2015/05/11 Python
Python编程实现的简单Web服务器示例
2017/06/22 Python
python使用pil进行图像处理(等比例压缩、裁剪)实例代码
2017/12/11 Python
Python Matplotlib实现三维数据的散点图绘制
2019/03/19 Python
基于Python实现扑克牌面试题
2019/12/11 Python
python使用smtplib模块发送邮件
2020/12/17 Python
美国电子产品主要品牌的授权在线零售商:DataVision
2019/03/23 全球购物
办护照工作证明范本
2014/01/14 职场文书
简历上的自我评价怎么写
2014/01/28 职场文书
顶岗实习计划书
2015/01/16 职场文书
班主任高考寄语
2015/02/26 职场文书
预备党员转正意见
2015/06/01 职场文书
读完《骆驼祥子》的观后感!
2019/07/05 职场文书
Vue接口封装的完整步骤记录
2021/05/14 Vue.js
oracle连接ODBC sqlserver数据源的详细步骤
2021/07/25 Oracle
docker 制作mysql镜像并自动安装
2022/05/20 Servers
JS前端轻量fabric.js系列之画布初始化
2022/08/05 Javascript