python 随机生成中文的代码
def randomChinese(): val = random.randint(0x4E00, 0x9FBF) return unichr(val)
实践表明上面的编码数量太多了。很多字不认识,无法输入。
所以下面提供常用的汉字的随机生成方法:
def randomGB2312():
head = random.randint(0xB0, 0xDF)
body = random.randint(0xA, 0xF)
tail = random.randint(0, 0xF)
val = ( head << 0x8 ) | (body << 0x4 ) | tail
str = "%x" % val
return str.decode('hex').decode('gb2312')
2010/07/30 21:17:39
你好,我是JavaScript初学者,我就想在这里灌水。
谢谢~
2010/07/30 15:43:16
已经实现,原来是代码里有点问题,现已解决。
2010/07/30 10:25:56
先把python理解透:)
2010/07/30 08:39:04
我把你给的四行调用方法加在代码的末尾,执行结果如下:
[2010-07-30] 07:35:01 [build@test-pc] ~/test_py
$ ./rdmchnchar.py
File “./rdmchnchar.py”, line 144
ic.randChinese(4)
^
SyntaxError: invalid syntax
[2010-07-30] 07:35:03 [build@test-pc] ~/test_py
$
2010/07/29 16:25:15
什么意思?把这四行直接输到命令行下面执行?
2010/07/29 16:08:55
调用方法:
ic = ImageChar(fontColor=(100,211, 90),
fontPath=’/usr/share/fonts/truetype/wqy/wqy-zenhei.ttc’)
ic.randChinese(4)
ic.save(“1.jpeg”)
2010/07/29 14:42:19
哥们,怎么不说话了?如果在忙的话,有空回复一下吧,我这几天都会来看的。我想这几天把这个脚本学习好跑通,谢谢啦
2010/07/29 14:24:43
还有一点没看明白,你所说的调用方法是什么意思?
ic = ImageChar(fontColor=(100,211, 90))
ic.randChinese(4)
ic.save(“1.jpeg”)
可以在其他代码,别如C下面调用吗?
谢谢
2010/07/29 14:19:24
执行结果就是更改文件里面名字后的结果……
2010/07/29 14:13:21
要将文件名修改成wqy.ttc或者将代码里的wqy.ttc修改成你的simsun.ttc
2010/07/29 13:58:42
我又找了个simsun.ttc字体文件,应该支持简体中文的,放在脚本中的wqy.ttc位置。如下:
$ ls
rdmchnchar.py simsun.ttc
执行脚本:
$ ./rdmchnchar.py
[2010-07-29] 12:51:20 [build@test-pc] ~/test_py
$
没有任何结果。。。。
我的系统是ubuntu,为什么无法实现你所给出的效果图?
Thanks
2010/07/29 12:41:47
‘wqy.ttc’ 文件我google了一下,没有下载链接。如何得到或者建立这个文件呢?
2010/07/29 12:14:20
再看一下这个文章的结尾,已经更新:
http://www.3gcnbeta.com/wordpress/2010/02/09/%E9%9A%8F%E6%9C%BA%E7%94%9F%E6%88%90%E4%B8%AD%E6%96%87%E9%AA%8C%E8%AF%81%E7%A0%81%E7%9A%84python%E4%BB%A3%E7%A0%81/
2010/07/29 12:03:42
哦,确实没有字体文件,不知道如何得到或实现字体文件,可否给个邮箱具体交流?
谢谢
2010/07/29 11:33:30
需要保证你的字体文件是存在的。
2010/07/29 10:05:43
Hi, 你好,
我是python脚本的初学者,看到了你的博客,感觉很有益,但是在把这段脚本运行拷贝到我命名的文件“rdmchnchar.py ”时(随机生成中文验证码的python代码),直接执行 “./rdmchnchar.py ” 却得不到你所给出的效果图结果。我有两个问题请教:
1. 你给出的“调用方法”具体应该怎么实现?
2. 我执行“./rdmchnchar.py ”为什么没有任何返回结果?
谢谢!