【小知识】python中文乱码问题之“文本读写和网络发送”

python中文显示乱码问题之“文本读写和网络发送”

最近撸主一直在写点东西……忙的要屎……发帖赚个存在感……

玩python的机油们一定对中文乱码烦恼不已,撸主也曾经为这个困扰了很久本文就以撸主最近在写的某个 扫号工具 的实例来说明文本读写和网络发送中文的一个解决办法

0x01 首先,我们建立两个文本username.txt(ANSI),username2.txt(utf-8),分别为ANSI和utf-8格式里面写一个英文,再写一个中文,如下图

0x02 然后我们直接读取可以明显的看到,ANSI的显示是正确的,而UTF-8显示乱码

0x03 接着,我们来说说网络发送大家拿抓包工具抓下包就会知道,中文用户名在网络中并不是直接URL编码发送的,而是经过一系列解码编码之后再URL编码的例如“杨凡”就变成了这样……

那么python中怎样编码呢?如下

from urllib import quotestr = unicode(self.username, 'gbk')username = quote(str.encode("UTF-8"))

效果如下(PS:凡叔……我没有扫出你的密码,只是做个演示……)

0x04 再来看看写入呢?就接着刚才说的需要用ANSI格式的文本来读取,然后同样传递这个读取到的中文编码为文件名

if (1):    print "GET_ONE!!---->"+self.username+"||"+self.password

savepath = “c:/”+self.username+”.txt”

print savepath

fps = open(self.savepath,’a’)

fps.write(username+”||”+password+”\n”)

fps.close()

自然,cmd窗口都显示正常了,写入当然也是正常的

0x05 总结这有什么用呢?1.读写文件中文问题的解决2.cmd命令提示窗口中显示中文问题的解决3.网络扫号类工具,中文用户名问题解决

声明: 本文采用 CC BY-NC-SA 3.0 协议进行授权转载请注明来源:Panni Security Team本文链接地址:http://www.panni007.com/2013/03/25/825.html 即使爬到最高的山上,一次也只能脚踏实地地迈一步。

【小知识】python中文乱码问题之“文本读写和网络发送”

相关文章:

你感兴趣的文章:

标签云: