利用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转换HTML到Text纯文本的方法
Jan 15 Python
python使用正则表达式分析网页中的图片并进行替换的方法
Mar 26 Python
python中黄金分割法实现方法
May 06 Python
十分钟利用Python制作属于你自己的个性logo
May 07 Python
Selenium元素的常用操作方法分析
Aug 10 Python
python判断完全平方数的方法
Nov 13 Python
详解python深浅拷贝区别
Jun 24 Python
django使用haystack调用Elasticsearch实现索引搜索
Jul 24 Python
基于Python爬取素材网站音频文件
Oct 21 Python
用python写PDF转换器的实现
Oct 29 Python
python 爬取小说并下载的示例
Dec 07 Python
Python3利用scapy局域网实现自动多线程arp扫描功能
Jan 21 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从右向左/从左向右截取字符串的实现方法
2011/11/28 PHP
php中将数组存到文件里的实现代码
2012/01/19 PHP
PHP批量删除jQuery操作
2017/07/23 PHP
CSS和Javascript简单复习资料
2010/06/29 Javascript
js导出格式化的excel 实例方法
2013/07/17 Javascript
js截取中英文字符串、标点符号无乱码示例解读
2014/04/17 Javascript
JS实现简单的二维矩阵乘积运算
2016/01/26 Javascript
JS基于递归算法实现1,2,3,4,5,6,7,8,9倒序放入数组中的方法
2017/01/03 Javascript
JS实现css hover操作的方法示例
2017/04/07 Javascript
JavaScript递归算法生成树形菜单
2017/08/15 Javascript
阿里大于短信验证码node koa2的实现代码(最新)
2017/09/07 Javascript
EasyUI的DataGrid绑定Json数据源的示例代码
2017/12/16 Javascript
在 React、Vue项目中使用SVG的方法
2018/02/09 Javascript
Nodejs中怎么实现函数的串行执行
2019/03/02 NodeJs
Vue render函数实战之实现tabs选项卡组件
2019/04/22 Javascript
JS 自执行函数原理及用法
2019/08/05 Javascript
[48:02]Ti4循环赛第三日 VG vs Liquid和NEWBEE vs DK
2014/07/12 DOTA
[02:20]DOTA2亚洲邀请赛 EHOME战队出场宣传片
2015/02/07 DOTA
python使用fileinput模块实现逐行读取文件的方法
2015/04/29 Python
Linux下为不同版本python安装第三方库
2016/08/31 Python
基于python 二维数组及画图的实例详解
2018/04/03 Python
python语音识别实践之百度语音API
2018/08/30 Python
基于python实现自动化办公学习笔记(CSV、word、Excel、PPT)
2019/08/06 Python
Python-jenkins模块之folder相关操作介绍
2020/05/12 Python
Python内置异常类型全面汇总
2020/05/28 Python
Bose法国官网:购买耳机、扬声器、家庭影院、专业音响
2017/12/21 全球购物
Mountain Hardwear官网:攀岩服装和户外装备
2019/09/26 全球购物
正宗的澳大利亚Ugg靴子零售商:UGG Express
2020/04/19 全球购物
求∏的近似值,直到最后一项的绝对值小于指定的数
2016/02/12 面试题
小露珠教学反思
2014/04/30 职场文书
2014光棍节大学生联谊活动方案
2014/10/10 职场文书
委托证明范本
2014/11/25 职场文书
各类场合主持词开场白范文集锦
2019/08/16 职场文书
2019年手机市场的调研报告2篇
2019/10/10 职场文书
js之ajax文件上传
2021/05/13 Javascript
如何用python清洗文件中的数据
2021/06/18 Python