IO知识点(六)—— Java 编码中文问题讲解 UNICODE,GBK,UTF-, ISO-8859-1 之间的区别

本文深入探讨了字符编码的概念,包括字符、字符集和字符编码的区别。重点讨论了Unicode、GBK、UTF和ISO-8859-1编码,并在Java环境中阐述了它们的应用。文章还通过实例解释了如何在文件读写中正确处理中文编码问题,以及不同编辑器和IDE的编码设置。
摘要由CSDN通过智能技术生成

从事软件开发工作的人员经常会遇见字符编码问题,比如常见的“乱码”。

乱码是由于系统或软件缺乏对某种字符编码的支持,而产生的不能正常阅读的混乱字符。


一.,字符、字符集与字符编码

字符是各种文字和符号的总称,包括各个国家文字、标点符号、图形符号、数字等等。

字符集是多个字符的集合。字符集种类很多,常见的字符集有:ASCII、GBK、Unicode、BIG5等,每个字符集包含的字符个数各不一样。计算机要准确的处理各种字符集文字,需要进行字符编码,以便计算机能够识别和存储各种文字。

字符编码(英语:Character encoding)也称字集码,是把字符集中的字符编码为指定集合中某一对象(例如:比特模式、自然数序列、8位组或者电脉冲),以便文本在计算机中存储和通过通信网络的传递。

字符编码和字符集区别:

  • 字符编码和字符集不一样,字符集只是字符的集合,不一定适合作网络传送、处理,有时须经编码(encode)后才能应用。如Unicode可依不同需要以UTF-8、UTF-16、UTF-32等方式编码。
  • 字符编码就是以二进制的数字来对应字符集的字符。因此,对字符进行编码,是信息交流的技术基础。

通俗来讲,使用哪些字符,也就是说哪些汉字、字母和符号会被收入标准中,所包含“字符”的集合就叫做“字符集”。规定每个“字符”分别用一个字节还是多个字节存储,用哪些字节来存储,这个规定就叫做“编码”

各个国家和地区在制定编码标准的时候,“字符的集合”和“编码”一般都是同时制定的。因此,平常我们所说的“字符集”,比如:GB2312, GBK, JIS 等,除了有“字符的集合”这层含义外,同时也包含了“编码”的含义。

注意:Unicode字符集有多种编码方式,如UTF-8、UTF-16等;ASCII只有一种;大多数MBCS(包括GB2312)也只有一种。

2,编码概念初识

 计算机存放数据只能存放数字,所有的字符都会被转换为不同的数字(也就是上面所说的编码
就像一个棋盘一样,不同的字,处于不同的位置,而不同的位置,有不同的数字编号。
有的棋盘很小,只能放数字和英文
有的大一点,还能放中文
有的“足够”大,能够放下世界人民所使用的所有文字和符号

如图所示,英文字符 A 能够放在所有的棋盘里,而且位置都差不多
中文字符, 中文字符 中 能够放在后两种棋盘里,并且位置不一样,而且在小的那个棋盘里,就放不下中文

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值