模拟生成随机四位GB2312的汉字验证码(python3.X)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了模拟生成随机四位GB2312的汉字验证码(python3.X),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1191字,纯文字阅读大概需要2分钟。
内容图文
![模拟生成随机四位GB2312的汉字验证码(python3.X)](/upload/InfoBanner/zyjiaocheng/617/c0b82aafe90a4e19a4dbf8388687d4ed.jpg)
之前写过一个数字的随机验证码点击查看,这次写个生成汉字的,分两种编码方式,一种是Unicode编码,一种是GB2312编码,直接看代码:
import random
'''
下面注释的两行是UNICODE编码汉字,这中间有两万多个汉字,
包含繁体的生僻字,不推荐
'''
#val =random.randint(0x4e00,0x9fbf)
#print(chr(val))
'''
以下是GB2312编码范围:A1A1-FEFE,其中汉字的编码范围为B0A1-F7FE,
第一字节0xB0-0xF7(对应区号:16-87),第二个字节0xA1-0xFE(对应位号:01-94)。
'''
i=0
str1 =""
for i in range(4):
quhao = random.randint(0xb0, 0xd7) #只选择常用的一级汉子3755个,所以只到0xd7为止
weihao = random.randint(0xa1, 0xfe)
#下面一行为格式化为十六进制字符串 x表示十六进制,表示二进制,d表示十进制,o表示八进制
val = format(quhao,'x')+format(weihao,'x') #此行代表也可以写成:val = f'{quhao:x}{weihao:x}'
#下面一行表示从十六进制(hex)生成字节fromhex函数,再decode GB2312解码成汉字,
str1 =str1 + bytes.fromhex(val).decode('gb2312')
print("验证码为:",str1)
运行后的结果:
Python 3.8.1 (tags/v3.8.1:1b293b6, Dec 18 2019, 23:11:46) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license()" for more information.
>>>
================= RESTART: C:\Users\Administrator\Desktop\2.py =================
验证码为: 舅进模箍
>>>
内容总结
以上是互联网集市为您收集整理的模拟生成随机四位GB2312的汉字验证码(python3.X)全部内容,希望文章能够帮你解决模拟生成随机四位GB2312的汉字验证码(python3.X)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。