利用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算法学习之桶排序算法实例(分块排序)
Dec 18 Python
python判断、获取一张图片主色调的2个实例
Apr 10 Python
python在windows下实现ping操作并接收返回信息的方法
Mar 20 Python
Python CSV模块使用实例
Apr 09 Python
Python发送form-data请求及拼接form-data内容的方法
Mar 05 Python
Python利用matplotlib生成图片背景及图例透明的效果
Apr 27 Python
python paramiko模块学习分享
Aug 23 Python
实例讲解Python中浮点型的基本内容
Feb 11 Python
Python绘制堆叠柱状图的实例
Jul 09 Python
详解Python用三种方式统计词频的方法
Jul 29 Python
Python 动态变量名定义与调用方法
Feb 09 Python
python3字符串输出常见面试题总结
Dec 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
PHP_NETWORK_GETADDRESSES: GETADDRINFO FAILED问题解决办法
2014/05/04 PHP
ThinkPHP实现非标准名称数据表快速创建模型的方法
2014/11/29 PHP
Zend Framework动作控制器用法示例
2016/12/09 PHP
stripos函数知识点实例分享
2019/02/11 PHP
Linux下安装Memcached服务器和客户端与PHP使用示例
2019/04/15 PHP
用于自动添加Digg This!按钮的JavaScript
2006/12/23 Javascript
js实现的网页颜色代码表全集
2007/07/17 Javascript
JavaScript 继承详解(三)
2009/07/13 Javascript
jQuery 解析xml文件
2009/08/09 Javascript
jQuery 位置函数offset,innerWidth,innerHeight,outerWidth,outerHeight,scrollTop,scrollLeft
2010/03/23 Javascript
基于jquery的复制网页内容到WORD的实现代码
2011/02/16 Javascript
JQuery触发radio或checkbox的change事件
2012/12/18 Javascript
jQuery之折叠面板的深入解析
2013/06/19 Javascript
JS长整型精度问题实例分析
2015/01/13 Javascript
JavaScript中5种调用函数的方法
2015/03/12 Javascript
通过js获取上传的图片信息(临时保存路径,名称,大小)然后通过ajax传递给后端的方法
2015/10/01 Javascript
vue中Axios的封装与API接口的管理详解
2018/08/09 Javascript
nodejs中内置模块fs,path常见的用法说明
2020/11/07 NodeJs
微信小程序实现天气预报功能(附源码)
2020/12/10 Javascript
[01:01:24]LGD vs Fnatic 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
[01:03:18]DOTA2-DPC中国联赛 正赛 RNG vs Dynasty BO3 第一场 1月29日
2021/03/11 DOTA
给Python的Django框架下搭建的BLOG添加RSS功能的教程
2015/04/08 Python
Python自动生产表情包
2017/03/17 Python
利用pandas进行大文件计数处理的方法
2018/07/25 Python
python 使用pandas计算累积求和的方法
2019/02/08 Python
Python实现直播推流效果
2019/11/26 Python
python 字段拆分详解
2019/12/17 Python
浅析python 动态库m.so.1.0错误问题
2020/05/09 Python
TUMI新加坡官网:国际领先的商旅箱包品牌
2019/01/12 全球购物
Sisley法国希思黎中国官网:享誉全球的奢华植物美容品牌
2019/06/30 全球购物
巴西购物网站:Onofre Agora
2020/06/08 全球购物
精细化工应届生求职信
2013/11/17 职场文书
英语专业毕业生自荐信范文
2013/12/31 职场文书
三严三实对照检查材料范文
2014/09/23 职场文书
2016春季小学开学寄语
2015/12/03 职场文书
处理canvas绘制图片模糊问题
2022/05/11 Javascript