为什么idea输出会乱码

技术为什么idea输出会乱码这篇文章主要介绍“为什么idea输出会乱码”,在日常操作中,相信很多人在为什么idea输出会乱码问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”为什么idea输出

本文主要介绍“为什么idea的输出乱码”。在日常操作中,相信很多人对于idea的输出为什么乱码有疑问。边肖查阅了各种资料,整理出简单易用的操作方法,希望能帮助大家解决“idea的输出为什么乱码”的疑惑。接下来,请和边肖一起学习!

前言

相信大家都遇到过乱码的人物。今天女朋友着急的走过来问我:“亲爱的,我的创意怎么输出乱码的字符?”

一次手术后我为他做得很好,但三兰亭是我女朋友,我的好奇心和我一样,所以让我来。

为什么idea输出会乱码

那为什么会有乱码字符呢?

什么是编码,什么是解码?

什么是字符编码,什么是字符集?

为什么会有Unicode?UTF-8和GBK有什么区别?

三歪坐在我腿上,撒娇似的告诉我这一系列问题。我喜欢粉,但更喜欢女朋友,所以有了这篇文章。

为什么会有乱码?我们知道只有0和1组成的字节流存储在计算机中,但只有数字不能满足我们的需求。我们还需要文本处理等等。然而,计算机只知道数字,所以我们需要告诉计算机什么数字代表什么字符。

例如,如果我为A指定0000,为B指定0001,计算机就会知道,所以如果我想将字符AB存储在计算机中,实际存储是0000001,这实际上相当于为每个字符定制一个唯一的代码。

但这是我的指定。不同的人有不同的想法。比如小明喜欢A的1000,b的1111,然后小明的电脑按照他指定的编码方式,也就是1000 1111存储,然后传到我的电脑上。我得到了1000 1111,根据我的编码可能是%,这是乱码。

所以乱码的本质就是编码和解码不对应。

有些学生可能不熟悉编码和解码的概念。让我解释一下:

编码:其实就是把字符按照一定的格式转换成字节流的过程。

解码:就是把字节流解析成字符。

可以看出,随机编码会导致每台计算机都无法正确解析的情况,所以需要有一个标准,每个人都会根据那个标准指定字符和数字的对应关系。

标准字符编码

美国国家标准协会ANSI制定了一个标准,即美国信息交换标准代码(ASCII),规定了常用字符集和对应数字的集合,例如65代表a。

为什么idea输出会乱码

ASCII实际上是一个7位代码,在二进制代码中的意思是000000 ~ 1111111,但是一个字节是8位,所以通常用8位存储。可以看出ASCII代表128个字符,实际上是美国代码。你可以看到在同样说英语的英国,ASCII中没有英镑标记。

有韩国的,日本的等等,更不用说我们中国人了。

一个字节最多只能代表256个字符,对我们来说是不够的,需要扩展。比如GB2312是我们国家标准局发布的《信息交换用汉字编码字符集》,后来GBK发布了,就是扩容的意思。在GB2312的基础上增加了繁体字等多种文字。

所以这就意味着每个国家都有自己的标准,因为语言不同,字符集不同,使得计算机之间的文档交流非常困难,所以我们又开始了一波标准化的浪潮。

比如美国的ANSI组织制定了ANSI标准字符编码,实际上是平台默认编码。比如中文操作系统使用GBK,如果在美国使用ASCII,操作系统会预装这些标准字符集。

但是,这只能解决一个文档由一个字符编码的问题。假设我的文档里有日语、法语、德语、俄语和汉语,你说呢?

Unicode

因此,创建了另一个Unicode,也称为统一代码、通用代码和单一代码。

Unicode字符集涵盖了人类目前使用的所有字符,每个字符都被统一编号并分配了唯一的字符代码。你看,这种事总得有人做,不然统一不了。

下面我将解释几个术语,让大家更清楚。

人物:其实就像英文字母,或者我们中文叫人物。

字符集:即字符和数字的集合。

字符码:是字符集内字符对应的数字或数字。例如,在ASCII字符集中,A的字符代码是65。

字符编码:是根据字符集内字符与数字的映射关系转换成字节流的实现。

ul>

对于 Unicode 而言有一点和之前的编码不太一样,它将字符集和编码实现解耦了。

之前的编码比如 ASCII 编码、GBK  编码等等,它们的字符集和编码实现是绑死的,你可以理解成以前的编码其实就是查表,有一个固定的表格里面存储这字符和对应固定的二进制,比如 A 对应的编号是  65,其二进制序列就是 01000001。

而 Unicode 不一样,它将字符集和字符编码实现分开了,比如 A 对应的编号是 65,但是对应的二进制序列就不一定了,得看具体的字符编码,如果是  UTF-8 编码,则是 01000001,如果是 UTF-16 编码(大端),则是 00000000 01000001。

为什么idea输出会乱码

这其实也是为什么我们现在常用 UTF-8 而不是 UTF-16 的原因,可以看到 UTF-16 编码存储效率较低,最少使用两个字节,并且像 C  语言的很多函数都会将 0x00 字节作为字符串的停止符来解析,所以才搞了个 UTF-8,其使用 1~4  字节为每个字符编码,是变长的,具体如何编码的我就不说了,随便查一下就有。

到此,关于“为什么idea输出会乱码”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/49663.html

(0)

相关推荐

  • 如何将MP3格式的音乐转换成WAV格式

    技术如何将MP3格式的音乐转换成WAV格式这篇文章主要为大家展示了“如何将MP3格式的音乐转换成WAV格式”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何将MP3格式的音乐

    攻略 2021年10月30日
  • 生茶,普洱茶是生茶好还是熟茶好

    技术生茶,普洱茶是生茶好还是熟茶好普洱茶生茶和熟茶各有特色,没有谁好谁坏,普洱茶生茶制作工艺为杀青、揉捻后蒸压成饼,普洱熟茶则主要为渥堆发酵生茶;颜色方面,普洱生茶初为青绿、墨绿,而普洱熟茶颜色呈红褐色;普洱生茶口感强烈

    生活 2021年10月22日
  • 莱布尼茨公式,牛顿莱布尼茨公式的故事

    技术莱布尼茨公式,牛顿莱布尼茨公式的故事牛顿和莱布尼茨间的故事莱布尼茨公式:1 、1665年夏天,因为英国爆发鼠疫,剑桥大学暂时关闭。刚刚获得学士学位、准备留校任教的
    牛顿被迫离校到他母亲的农场住了一年多。这一年多被称为

    生活 2021年10月22日
  • Freeswitch在debian10下的安装及编译

    技术Freeswitch在debian10下的安装及编译 Freeswitch在debian10下的安装及编译Installing FreeSWITCH - Package or Source 从apt

    礼包 2021年10月20日
  • 用眼卫生,正确的用眼卫生习惯有哪些

    技术用眼卫生,正确的用眼卫生习惯有哪些1.连续近距离用眼时间不能过长,应控制在40-50分钟用眼卫生。课间休息时要注意放松眼百睛,应到教室外活动或凭窗远眺或闭目养神。 2. 看电视或操作电脑时间不能过长。连续看电视或操作

    生活 2021年10月23日
  • geojson在线可视化(制作geojson)

    技术如何通过手动修改GeoJson文件实现省级镂空Feature制作如何通过手动修改GeoJson文件实现省级镂空Feature制作,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小

    攻略 2021年12月13日