利用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编程之黑板上排列组合,你舍得解开吗
Oct 30 Python
python实现读取excel写入mysql的小工具详解
Nov 20 Python
pytorch 数据集图片显示方法
Jul 26 Python
Python爬虫爬取新浪微博内容示例【基于代理IP】
Aug 03 Python
python执行精确的小数计算方法
Jan 21 Python
selenium+python自动化测试之鼠标和键盘事件
Jan 23 Python
Python类的继承用法示例
Jan 31 Python
Django 对IP访问频率进行限制的例子
Aug 30 Python
python爬虫爬取监控教务系统的思路详解
Jan 08 Python
python3实现raspberry pi(树莓派)4驱小车控制程序
Feb 12 Python
python lambda的使用详解
Feb 26 Python
python中如何对多变量连续赋值
Jun 03 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将Excel导入数据库及数据库数据导出至Excel的方法
2015/06/24 PHP
Laravel Memcached缓存驱动的配置与应用方法分析
2016/10/08 PHP
php+redis实现注册、删除、编辑、分页、登录、关注等功能示例
2017/02/15 PHP
JavaScript中关于indexOf的使用方法与问题小结
2010/08/05 Javascript
Javascript 面试题随笔
2011/03/31 Javascript
javascript日期操作详解(脚本之家整理)
2015/09/05 Javascript
Svg.js实例教程及使用手册详解(一)
2016/05/16 Javascript
jQuery简单实现列表隐藏和显示效果示例
2016/09/12 Javascript
微信开发之调起摄像头、本地展示图片、上传下载图片实例
2016/12/08 Javascript
利用transition实现文字上下抖动的效果
2017/01/21 Javascript
Move.js入门
2017/02/08 Javascript
jQuery:unbind方法的使用详解
2017/08/14 jQuery
JavaScript实现简单图片轮播效果
2017/08/21 Javascript
基于JavaScript实现带数据验证和复选框的表单提交
2017/08/23 Javascript
微信小程序bindinput与bindsubmit的区别实例分析
2019/04/17 Javascript
ES5和ES6中类的区别总结
2020/12/21 Javascript
python字符串替换的2种方法
2014/11/30 Python
python 网络爬虫初级实现代码
2016/02/27 Python
python学习笔记--将python源文件打包成exe文件(pyinstaller)
2018/05/26 Python
Python全排列操作实例分析
2018/07/24 Python
python numpy 按行归一化的实例
2019/01/21 Python
Python中时间datetime的处理与转换用法总结
2019/02/18 Python
python3中property使用方法详解
2019/04/23 Python
python格式化输出保留2位小数的实现方法
2019/07/02 Python
python实现多进程通信实例分析
2019/09/01 Python
Python多进程编程常用方法解析
2020/03/26 Python
如何基于python对接钉钉并获取access_token
2020/04/21 Python
用HTML5.0制作网页的教程
2010/05/30 HTML / CSS
HTML5的postMessage的使用手册
2018/12/19 HTML / CSS
理工大学毕业生自荐信
2013/11/01 职场文书
党员政治学习材料
2014/05/14 职场文书
给校长的建议书200字
2014/05/16 职场文书
拒绝黄毒毒宣传标语
2014/06/26 职场文书
《祁黄羊》教学反思
2016/02/20 职场文书
对Golang中的FORM相关字段理解
2021/05/02 Golang
Python各协议下socket黏包问题原理
2022/04/12 Python