广告
返回顶部
首页 > 资讯 > 前端开发 > node.js >为什么idea输出会乱码
  • 571
分享到

为什么idea输出会乱码

2024-04-02 19:04:59 571人浏览 安东尼
摘要

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

这篇文章主要介绍“为什么idea输出会乱码”,在日常操作中,相信很多人在为什么idea输出会乱码问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”为什么idea输出会乱码”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

 前言

乱码这个东西相信大家都遇到过,今天我的女朋友三歪就火急火燎的上来找我:“亲爱的,我的idea怎么输出乱码了?”

我一顿操作就给他搞好了,但是三歪不愧是我的女朋友,好奇心跟我是一样样的,随我。

为什么idea输出会乱码

那为什么会出现乱码呢?

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

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

为什么要有 Unicode ?UTF-8 和 GBK 又有什么不同呢?

三歪坐在我的腿上对我撒娇似的说出这一连串的问题,我这个人宠粉但是更宠女朋友,所以就有了这篇文章。

为什么会出现乱码我们知道计算机里存储的只会是 0 和 1  组成的字节流,而仅是数字满足不了我们的需求,我们还需要文本的处理等等,但是计算机只认识数字,所以我们需要告诉计算机什么数字代表什么字符。

比如我指定 0000 代表 A,0001 代表 B 这样计算机就知道了,所以我要把 AB 这两个字符存入计算机的话,实际存储的就是0000  0001,其实就等于把每个字符定制一个唯一的编码。

但是这是我的指定,不同的人想法是不同的,比如小明就喜欢 1000 表示 A ,1111 表示 B,那小明的计算机按照他指定的编码方式存储,就是 1000  1111,之后传输给我的计算机,我拿到1000 1111,按照我的编码解出来可能就是 %& 了,这就乱码了。

所以乱码的本质就是编码和解码实现没对应上。

有些同学可能对编码和解码的概念不太熟悉,我来解释一下:

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

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

可以看到随意编码的就会产生各自的计算机都无法正确解析的情况,所以需要有一个标准,大家都按那个标准来指定字符和数字的对应关系。

标准字符编码

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

为什么idea输出会乱码

ASCII 实际上是 7 位编码,用二进制代码表示就是 0000000~1111111,不过 1 个字节是 8 位,所以一般都用 8 位来存储。可以看到  ASCII 代表了 128 个字符,这其实是倾美国的编码,你看同样讲英文的英国,ASCII 上都没英镑的标记。

还有人家的韩文,日文等等,更别说咱们中文了。

1 个字节最多只能表示 256 个字符,所以对我们来说不够用,因此需要扩展,像 GB2312  就是我们国家标准总局发布的《信息交换用汉字编码字符集》,后来又发布了 GBK ,这个 K 就是扩展的意思,在 GB2312  的基础上又添加了很多比如繁体字等字符。

所以说等于每个国家都有自己的标准,因为语言都是不同的,各字符集的不同就导致计算机之间文档的交流非常困难,因此大家又开始了一波标准化。

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

不过这只能解决一份文档一份字符编码的情况,假设我文档里面有日语、法语、德语、俄语、中文,你说怎么办?

Unicode

所以又搞了个 Unicode,又称统一码、万国码、单一码。

Unicode 字符集涵盖了目前人类使用的所有字符,并为每个字符进行统一编号,分配唯一的字符码,你看这种事情总得有人做,不然就没法统一。

这里有几个术语我解释一下,让大伙更加清晰一些。

  • 字符:其实就像英文字母,或者我们的中文都叫字符

  • 字符集:那就是字符和编号对应的集合

  • 字符码:就是字符集里面字符对应的数字,或者说编号,比如在 ASCII 字符集里面, A 的字符码是 65

  • 字符编码:就是按照字符集中字符和数字的映射关系,转化成字节流的实现

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

--结束END--

本文标题: 为什么idea输出会乱码

本文链接: https://www.lsjlt.com/news/84484.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 为什么idea输出会乱码
    这篇文章主要介绍“为什么idea输出会乱码”,在日常操作中,相信很多人在为什么idea输出会乱码问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”为什么idea输出会乱码”的疑惑...
    99+
    2022-10-19
  • php为什么会出现乱码?怎么解决?
    PHP是一种非常流行的编程语言,但有时它可能会出现乱码显示的问题。在这篇文章中,我们将探讨php乱码的原因以及如何解决这个问题。第一部分:为什么会出现乱码PHP文件编码问题当PHP文件的编码格式与网页的编码格式不一致时,就会导致乱码的问题。...
    99+
    2023-05-14
    php
  • 彻底解决IDEA输出中文乱码问题
    本文一共有3种方法,针对的情况是输出中文乱码问题 问题描述 无法正确输出中文字符:(请正确分辨自己是哪一种乱码问题!) 解决方法 1、最容易想到 File -> Settings -> File Encodings下设置编码格式为UTF-...
    99+
    2023-08-30
    intellij-idea tomcat java
  • php网页为什么会乱码
    本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑PHP在实际编写代码中,会经常出现一些问题,比如页面出现乱码等问题。我们接下来将会具体介绍PHP页面乱码的产生原因和相关解决方法。一般来说,PHP页面乱码的出现有2种原...
    99+
    2015-03-29
    php乱码
  • php 传参数为什么会乱码
    本文操作环境:Windows7系统,PHP7.1版,Dell G3电脑。php 传参数为什么会乱码php参数乱码解决网站项目使用gb2312作为项目编码的时候,由于不同浏览器对中文字符的编码可能不同,有的会将中文编码为网站编码,有的会把中文...
    99+
    2015-09-06
    php 参数 乱码
  • php输出汉字为乱码是什么原因?怎么解决?
    随着互联网的快速发展,编程语言也变得越来越多样化,其中php最为常用。然而,很多php初学者在输出中文时常会遇到乱码问题。那么出现php输出乱码问题的原因是什么呢?首先,我们需要了解一下“字符集”和“编码”的概念。字符集是由一组字符构成,例...
    99+
    2023-05-14
  • php输出汉字为乱码如何解决
    这篇文章主要介绍“php输出汉字为乱码如何解决”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“php输出汉字为乱码如何解决”文章能帮助大家解决问题。首先,我们需要了解一下“字符集”和“编码”的概念。字...
    99+
    2023-07-05
  • Spring Boot2解决idea console 控制台输出乱码的问题
    idea console控制台输出乱码 Idea默认配置是采用GBK, 而项目工程文件采用的是UTF-8。 编码不一致,导致idea Console控制台输出乱码。 网上的解决方案,...
    99+
    2022-11-12
  • node.js 输出中文乱码怎么办
    本教程操作环境:Windows7系统、node18.4.0版、Dell G3电脑。node.js 输出中文乱码怎么办?Node.js中使用中文产生乱码的解决方案项目场景:Node.js 概述: 一个基于 Chrome JavaScript ...
    99+
    2022-11-22
    乱码 Node.js
  • php用header设置了utf8编码为什么还会乱码
    在PHP中,使用`header()`函数设置编码为utf-8只是告诉浏览器将响应的内容按照utf-8编码进行解析。然而,如果你的网页...
    99+
    2023-08-18
    PHP
  • 怎么解决php微信输出乱码
    小编给大家分享一下怎么解决php微信输出乱码,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!php微信输出乱码的解决办法:1、使用urlencode进行编码;2、通...
    99+
    2023-06-21
  • 怎么解决php qrcode 输出乱码问题
    本篇内容介绍了“怎么解决php qrcode 输出乱码问题”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!php qrcode输出乱码的解决方...
    99+
    2023-06-20
  • php输出数组键名乱码怎么办
    本文操作环境:windows7系统、PHP7.1版、DELL G3电脑php输出数组键名乱码怎么办?一、纯PHP页面的中文乱码问题(数据是静态的)这个只需要在页面的开始处加入下面代码,然后保存UTF-8编码的文件即可。<php hea...
    99+
    2018-06-28
    php 乱码
  • php打印输出中文乱码怎么办
    本文操作环境:windows7系统、PHP7.1版、DELL G3电脑php打印输出中文乱码怎么办?PHP输出中文乱码的解决方法最近在windows上发现PHP程序中输出来的中文有乱码的情况。看了很多帖子资料说可以在页面上添加:用echo输...
    99+
    2019-06-05
    php 乱码
  • php 二进制流输出乱码怎么办
    本教程操作环境:windows7系统、PHP8.1版、Dell G3电脑。php 二进制流输出乱码怎么办?最近在用php开发从mysql中读取并输出二进制文件,遇到了乱码问题。一般输出二进制文件是用下面的方法:<php if(!iss...
    99+
    2022-10-21
  • php输出到浏览器乱码怎么办
    php输出到浏览器乱码的解决办法:1、打开相应的php文件;2、在该php文件开头处加上“header('Content-Type:text/html;charset=utf-8');”语句即可。本教程操作环境:Window...
    99+
    2023-05-14
    php 乱码
  • MySQL会出现中文乱码问题怎么办
    小编给大家分享一下MySQL会出现中文乱码问题怎么办,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!1、MySQL会出现中文乱码的原因当我们在使用MySQL数据库的时候,经常会碰到乱码的问题,看...
    99+
    2022-10-18
  • idea中acitviti使用acitBPM插件出现乱码怎么办
    这篇文章主要介绍了idea中acitviti使用acitBPM插件出现乱码怎么办,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1.问题描述如下图所示,创建bpmn文件输入中文...
    99+
    2023-06-15
  • linux栈为什么会溢出
    这篇文章主要介绍了linux栈为什么会溢出的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇linux栈为什么会溢出文章都会有所收获,下面我们一起来看看吧。在linux中,栈溢出的原因是系统栈是由高地址往低地址增长...
    99+
    2023-06-30
  • 怎么处理php输出excel乱码的情况
    本篇内容主要讲解“怎么处理php输出excel乱码的情况”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么处理php输出excel乱码的情况”吧!php输出excel乱码的解决办法:首先打开相应...
    99+
    2023-06-07
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作