首页 / JAVA / java 乱码 字符集编码
java 乱码 字符集编码
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java 乱码 字符集编码,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1777字,纯文字阅读大概需要3分钟。
内容图文
![java 乱码 字符集编码](/upload/InfoBanner/zyjiaocheng/844/51e7e201ab9a44cbb45e28e2824c34ea.jpg)
程序经常出现乱码怎么办?下面仔细说一下
首先计算机存储的一切都是字节,只认识字节,也就是一串的二进制数字。
而字符的存储是需要先通过字符集编码转换成可存储的“二进制数字”。而出现乱码的原因基本上都是在这个阶段出现的。也就是通过字符集编码转换阶段。比如:‘中’字符想存储到计算机上,需要先通过XX字符编码转换然后存储到计算机上,而在其他计算机(B)上读取的时候,因为计算机内部存储的是二进制,此时B计算机从硬盘上读取到二进制数值通过YY字符编码进行转换,然后显示,此时,如果XX编码与YY编码如果不兼容的话,那么就会出现乱码;如果两套编码兼容,就不会出现乱码。
acsii编码使用7个二进制位对字符编码。因为计算机基本存储单元是字节,所以采用一个字节对字符编码。(1byte = 8bit ,一个字节由8位表示,所以在计算机内部最高位为0,其他7位是编码值)。
ansi编码:为了扩充acsii编码,以用于显示本国语言,不同的国家和地区制定了不同的标准,由此产生了GB2312,BIG5,JIS等各自的编码标准。这些使用两个字节来代表一个字符的各种汉字延伸编码方式,称为ansi编码,又称为mbcs。(Muilti-Bytes Charecter Set,多字节字符集)
unicode:如ansi编码条例中所述,世界上存在着多种编码方式。在ansi编码下,同一个编码值,在不同的编码体系里代表着不同的字。这个问题促使了unicode编码诞生:将世界上所有符号都纳入其中,无论中文、英文、日文等,每个符号都对应一个唯一的编码,大家都使用这个编码表,就不会出现乱码了,这就是unicode编码。缺点:很大的集合,虽然统一了编码,但是效率不高。(例如存储英文的话,前三个字节都是0,最后一个字节才是真正的存储值,浪费空间)
utf-8:为了提高unicode编码效率,出现了utf-8编码。utf-8可以根据不同的编码自动选择编码长短,比如英文字母使用一个字节就够了。utf-8编码是在unicode编码值上通过utf-8编码器再一次的编码得出来的。
base64:把由其他编码存储的符号转换成acsii码。
到这里,如果出现了乱码,相信也会知道怎么解决了吧。
由什么编码集存储的就由什么编码集转换显示。
最好采用utf8编码集。因为通用。
文章有不当之处,欢迎指出。
内容总结
以上是互联网集市为您收集整理的java 乱码 字符集编码全部内容,希望文章能够帮你解决java 乱码 字符集编码所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。