[游戏开发]Python写打表工具 [第一篇] vscode环境调试
作者:互联网
开始用pycharm,讲道理这个编辑器还是很好用的,界面大方功能齐全,但我破解了一段时间后告诉我License失效了,再尝试破解发现破解失败,我这暴脾气不能惯着它,果断换回了万能的VSCode
使用VSCode运行python文件需要先安装环境 => vscode-python插件
首次启动py文件之前,需要先配置VSCode工程下的.vscode配置目录,如果没有该文件自己创建一个settings.json
下面是Settings.json,如有需要直接复制
{
"python.linting.flake8Enabled": true,
"python.formatting.provider": "yapf",
"python.linting.flake8Args": ["--max-line-length=248"],
"python.linting.pylintEnabled": false,
//关键字显示红色波浪,原因:python插件默认使用的是pylint来做代码检查,关闭就不显示了
"python.linting.enabled": false
}
配置完成后开始写代码啦
第一句先来个Print("哈哈哈")
print('哈哈哈')
双击F5运行,我擦?打印中文是乱码,出师不利啊,第一句话就给我来个下马威
后来查了一下是编码问题,python2是ascii编码格式,python3是unicode编码格式
我装的版本是python2.7,因此编码格式是ascii,可以输出看一下当前默认格式
print sys.getdefaultencoding()
# coding=utf-8 或 # -*- coding: utf-8 -*- 这两种写法没有区别,系统只会读中间的coding: utf-8 当你在不同文章看到这两种写法时不用有疑惑,还有一种办法是修改文件的编码格式
#方式一
# coding=utf-8
方式二
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
编码格式修改好后运行,WTF!输出还是乱码??继续查原因!!!!
经过初步摸索应该是VSCode的输出窗口必须转换成中文编码格式gbk才能显示,意思就是不管你代码的编码格式是怎么样我编辑器不管,但想要输出到我的地盘就必须用中文编码格式
# coding=utf-8
print('哈哈哈'.encode("gbk"))
decode的作用是解码,将二进制数据解码成unicode编码,如str1.decode('utf-8'),表示将utf-8的编码字符串解码成unicode编码。
encode的作用是转码,是将unicode编码的字符串编码成二进制数据,如str2.encode('utf-8'),表示将unicode编码的字符串编码成utf-8。
重要提示!!
为何要在开头就转码,ASCII编码格式不支持直接转GBK,必须先把ASCII转为Unicode,再由Unicode转为GBK。疑问又来了,不是要从ASCII转为Unicode嘛,你咋转了个UTF-8
此处简单介绍一下编码格式
早起的ASCII编码格式是针对英文编写的,一个字节由8个二进制位组成,第一位为0固定不用,后面7个二进制位有多少种组合呢 ,答案是种可能,对应早期的ASCII码表就是0-127,随便贴一张百度图片
英文这些够用,但其他国家的人显然不够用,因此大家都盯上了那第一位固定不用的0,加上了这一位,那么ASCII码表就有了种组合,也就是0-255
此处插入一篇其他人的帖子,详细讲解了ASCII、Unicode、UTF-8、UTF-16到底是什么,他们的之间的关系
https://blog.csdn.net/zhusongziye/article/details/84261211
标签:编码,utf,Python,python,vscode,打表,unicode,格式,ASCII 来源: https://blog.csdn.net/liuyongjie1992/article/details/112378661