ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

夺命雷公狗—JAVA---005---编码问题

2021-05-14 07:33:16  阅读:141  来源: 互联网

标签:编码 JAVA 字节 字符 --- 005 128 ASCII 计算机


在编写程序的时候我们是需要注意一下编码问题的,比如我们创建一个Hello.java  的文件,代码如下所示:

class Hello{
    public static void main(String[] args){
        System.out.println("你好");
    }
}

 

 

然后我们来到文件夹下进行编译和运行即可发现如下问题:

 

这样即可发现直接输出了一堆乱码~  ~!

 

问题出现点,如下所示:

 

 

由下图可以清晰的看到,我们的系统默认是使用了GBK编码的,所以我们的代码才会直接爆出一堆乱码:

 

因为计算机他的世界中只是认识0和1,人类世界的字符他是很丰富的~ ~!

因为0和1这些字符人类看起来太费劲了,所以人类就创造出了ASCII码

 

每个0和1组成的二进制代码分别可以表示不同的意义,计算机他的底层自动将二进制,十进制,十六进制等进行编译成人类能看懂的文字从而让大家可以更轻松的进行交互~  ~ !

 

ASCII最开始只能表示128个字符,但是计算机慢慢的发展,计算机也不仅仅是美国人的专属,慢慢的流向其他国家~  ~!

 

各个国家后来都慢慢的在ASCII码128个的基础上扩展了128个,从而就变成了256个,但是每个国家扩展后的ASCII后期扩展的128个是不具有通用性的。

 

随着计算机传入亚洲就开始出现了多字节编码了,比如我们中国所使用的的GBK2312,后来的GBK,或者中国台湾地区的Big5等等,每个地方都有自己的文字放进去。

 

如果不同国家的计算机为了文档传输,那么问题就会出现了~ ~!

 

计算机希望在全世界范围内可以无障碍交流,开始引入了万国码(Unicode编码表)

 

Unicode编码表,可以使用它的规则表示全世界所有的字符,每一个字符都有自己唯一的编码。

 

但是Unicode编码表只是说了,字符用什么数字表示,但是这个数字范围跨度太大了,有1个字节,2个字节,3个字节的,4个字节等等的。

 

那么在网络传说中就出现问题了,比如收到4个字节数据时,那么该表示4个字符还是1个字符呢?

 

后来为了解决这个传输问题,就出现了大家所知的UTF-8等编码方式,规定了到底几个字节是一个字符。

 

我们由于使用的是sublime,他默认是不支持gbk2312的,那么我们需要安装一个插件:

 

 

 

 

 

然后再来编译和执行:

 

这样他就可以恢复正常了~~!

 

 

温馨提示,如果是使用nopad++编辑器,我们只需要将编码设置成   ANSI   即可,这样设置他就会自动成为与系统相同的字符进行展示。

 

标签:编码,JAVA,字节,字符,---,005,128,ASCII,计算机
来源: https://www.cnblogs.com/leigood/p/14767008.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有