【Sublime Text3】出现乱码之编码学习

故事会

在一个月黑风高的夜晚……打开电脑打算从零开始java,然后报错信息直接蒙蔽了。

不要问我为什么把java的东西放到python文件夹里面,更不要吐槽奇怪的User名……

查了很久都没有查到,后来想到康康c++的json信息,发现了一句:

"encoding":"cp936"

然后看到java的编译json信息里是“UTF-8”。

就是编码出错啦qwq。

 

关于CP936

查到了这个:

CP936其实就是GBK,IBM在发明Code Page的时候将GBK放在第936页,所以叫CP936。

至于GBK,百度百科就说的很清楚了:GBK全称《汉字内码扩展规范》(GBK即“国标”、“扩展”汉语拼音的第一个字母,英文名称:Chinese Internal Code Specification) ,中华人民共和国全国信息技术标准化技术委员会1995年12月1日制订,国家技术监督局标准化司、电子工业部科技与质量监督司1995年12月15日联合以技监标函1995 229号文件的形式,将它确定为技术规范指导性文件。这一版的GBK规范为1.0版。
而UTF-8: UTF-8(8-bit Unicode Transformation Format)是一种针对Unicode的可变长度字符编码,又称万国码。由Ken Thompson于1992年创建。现在已经标准化为RFC 3629。UTF-8用1到6个字节编码UNICODE字符。用在网页上可以同一页面显示中文简体繁体及其它语言(如英文,日文,韩文)。

所以GBK和UTF-8简单的来说,区别就是编码方式不同,表示的文字范围不同。(UTF-8能表示更多的语言文字,更加通用)

但是UTF-8不能显示GBK就很生气qwq。

 

附上sublime开发java的json代码

 1 {
 2     "cmd": ["javac","-encoding","UTF-8","-d",".","$file"],
 3     "file_regex": "^(...*?):([0-9]*):?([0-9]*)",
 4     "selector": "source.java",
 5     "encoding":"cp936",
 6     //执行完上面的命令就结束
 7  
 8     // 下面的命令需要按Ctrl+Shift+b来运行
 9     "variants":[
10         {
11             "name": "Run",
12             "shell": true,
13             "cmd" :  ["start","cmd","/c", "java ${file_base_name} &echo. & pause"],
14             // /c是执行完命令后关闭cmd窗口,
15             // /k是执行完命令后不关闭cmd窗口。
16             // echo. 相当于输入一个回车
17             // pause命令使cmd窗口按任意键后才关闭
18             "working_dir": "${file_path}",
19             "encoding":"UTF-8"
20         }
21     ]
22 }

 

posted @ 2019-10-08 20:25  tudouuuuu  阅读(404)  评论(0编辑  收藏  举报