为什么会有中文乱码?

简介: 为什么会有中文乱码?

何为乱码


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


编码方式是什么东西?


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


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

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


乱码产生原因


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


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


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


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


如何避免产生乱码?


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


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


相关文章
|
安全 Java Maven
关于代码混淆,看这篇就够了
关于代码混淆,看这篇就够了
2280 4
|
监控 NoSQL
JLink + GDB 调试方法
本节主要介绍嵌入式开发中常用的JLink+GDB调试方法。 调试所需软件 J-link,可以从https://www.segger.com下载对应操作系统的软件包,然后安装(注意:segger是仿真器的名字,相当常用的一款,仿真器的接口也是固定的,一般开发版上都会带有这个调试接口,如图) 运行JLinkGDBServer 按照上图中的配置,配置GDBServer,然后点击OK,进入下一个界面 注意,如果硬件连接没有问题,那么上图中的J-Link和 Device栏中显示绿色,GDB显示为红色,因为我们还没有运行GDB软件。
9344 46
|
3月前
|
人工智能 自然语言处理 安全
OpenClaw 用户部署和使用指南汇总
OpenClaw(原MoltBot/ClawdBot)是开源本地优先AI代理框架,让大模型成为你电脑上的“系统级员工”:自然语言操控文件、浏览器、终端,7×24自动处理消息。本指南(2026.02版)涵盖一键部署(阿里云/本地/WSL)、模型接入、Web/CLI/IM多端使用、安全配置及实战技能,助你零基础快速上手。
1754 5
|
2月前
|
存储 弹性计算 运维
阿里云2026年最便宜云服务器:轻量服务器38元和199元1年,云服务器99元和199元1年
2026年阿里云以超低价格推出四款高性价比云服务器:轻量应用服务器38元/年与199元/年款,及云服务器ECS 99元/年与199元/年款,满足从个人开发者到中小企业的不同需求。轻量应用服务器集成管理、开箱即用;ECS提供完全控制权,适合需要稳定且可扩展环境的用户。阿里云还提供丰富的组合套餐与实时价格查询,助力用户以最低成本开启云上之旅。
2089 17
|
Java
Java中文汉字转拼音
实现方法多样,在此列举两种,一种是比较简单,但是实现自定义稍差,还有一种就是自己写实现逻辑
5868 0
|
3月前
|
人工智能 JSON 监控
2026年OpenClaw Skills终极指南:100款高赞OpenClaw Skills+一键部署全攻略
OpenClaw的爆发式流行,本质是AI Agent从“聊天工具”向“生产力操作系统”的进化。但多数用户部署后却陷入“看似强大却不好用”的困境,核心原因在于忽视了Skills生态的核心价值——就像高性能电脑需要专业软件才能发挥价值,OpenClaw本体仅提供基础框架,而100款高赞Skills才是解锁其全场景能力的关键。
3377 9
|
2月前
|
人工智能 安全 编译器
🚀 前沿软件技术资讯周报
本刊聚焦2026年AI编程前沿:TDAD测试驱动开发、Box Maze安全框架、LPG智能编译优化、VeriAgent硬件感知RTL生成等突破;深度解析意图形式化、PAuth精确授权、SpaceTime编程三大范式;推荐Qwen3-Coder、OpenClaw、Skele-Code等实用技术栈,助开发者迈向“定义意图、AI可靠生成与验证”的新阶段。(239字)
1595 7
|
3月前
|
人工智能 JavaScript 数据可视化
2026年部署OpenClaw终极玩法:手把手教你通过6大超实用硬核Skills,轻松解锁AI辅助学习
在AI工具泛滥的今天,多数人仍将其当作“对话玩具”,却忽略了AI真正的价值——主动解决问题。OpenClaw的核心魅力,在于其开放的Skills生态:如果说大模型是AI的“大脑”,那Skills就是它的手脚、眼睛和专业工具箱。对于需要面对海量课件、复杂论文和严苛进度表的学生与职场人而言,选对并用好Skills,能让你的OpenClaw从“龙虾小兵”进化为“铁螯龙虾”。
2194 2
|
Java 关系型数据库 MySQL
Java中文乱码浅析及解决方案
Java中文乱码浅析及解决方案
|
4月前
|
人工智能 搜索推荐 安全
2026年LLM Agent对比传统Agent优势有哪些
2026年,AI正经历从“工具”到“伙伴”的范式革命。传统Agent受限于僵化流程,而LLM Agent以大模型为“大脑”,具备规划、记忆与工具调用能力,实现从执行到思考的跨越。适应复杂任务、动态决策与多智能体协作,推动AI迈向可信生产力。企业需拥抱认知驱动的智能体系统,构建人机协同的未来工作流。
649 0