解决方案

为什么会有中文乱码?

seo靠我 2023-09-23 04:49:41

何为乱码

在文件中所看到的字符串是系统把内存中的数据转换成二进制数再解码成一些字符最后显示,就是当你双击打开一个文本文件时系统会把内存的数码信息读取显示出来,当你保存一个文本文件时系统会把这个文件以你所SEO靠我设置的编码方式编码,再放进内存中。

编码方式是什么东西?

编码方式其实是一种计算机的存储规则,常见的字符集有UTF-8,GBK,GB2312。每种字符集都会在它所包含的字符和字节之间建立映射关系。而一个字SEO靠我节就是8个二进制位。所以你也可以把字符集看成是字符和二进制数进行转换的公式或映射表。

一个中文字符以utf-8编码会转成3个byte,如果以gbk编码会转成2个byte;

一个英文字符以utf-8编码会转SEO靠我成1个byte,如果以gbk编码会转成1个byte。

乱码产生原因

原因1.读取数据时未读完整个汉字

我们知道字节流读取数据时,一次只读取一个字节,英文字母只有一个字节存取,所以不会出现乱码,而idea默认SEO靠我的编码规则UTF-8(二进制)对中文的编码是3个字节,读取数据时未读完整个汉字自然会出现乱码。

原因2.编码和解码的方式不统一

如果创建本地文件,而其编码规则是GBK时,GBK的中文是占2个字节,而解码时SEO靠我使用编码规则是UTF-8,两个方式不统一,数据接受不完整会出现乱码

如何避免产生乱码?

1.不要用字节流读取文本文件,针对文本文件使用字符流。

2.编码解码时使用同一个编码方式

“SEO靠我”的新闻页面文章、图片、音频、视频等稿件均为自媒体人、第三方机构发布或转载。如稿件涉及版权等问题,请与 我们联系删除或处理,客服邮箱:html5sh@163.com,稿件内容仅为传递更多信息之目的,不代表本网观点,亦不代表本网站赞同 其观点或证实其内容的真实性。

网站备案号:浙ICP备17034767号-2