前言
运行环境在Python3.6下,Python2的解决方案网上有很多.,想学习python2实现的朋友们可以参考这篇文章:http://www.zzvips.com/article/124878.html,下面来一起看看详细的介绍吧。
第一种方法:Unicode码
在unicode码中,汉字的范围是(0x4E00, 9FBF)
1
2
3
4
5
|
import random def Unicode (): val = random.randint( 0x4e00 , 0x9fbf ) return chr (val) |
这个方法比较简单,但是有个小问题,unicode码中收录了2万多个汉字,包含很多生僻的繁体字.
第二种方法:GBK2312
gbk2312对字符的编码采用两个字节相组合,第一个字节的范围是0xB0-0xF7, 第二个字节的范围是0xA1-0xFE.
对GBK2312编码方式详细的解释请参看GBK2312编码
1
2
3
4
5
6
7
8
|
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中:
1
2
3
4
5
6
|
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中:
1
2
3
4
|
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来方便操作吧!~
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对服务器之家的支持。
原文链接:http://www.cnblogs.com/thunderLL/p/7682148.html