本文主要是介绍【编码】字符集与编码意义与关系、java编程编码问题相关学习笔记,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
本文对字符集与编码的定义、java编程中遇到的编码问题排查方案等进行相关的小总结;
一、字符集与编码方式
(1)字符集(Charset):是一个系统支持的所有抽象字符的集合。字符是各种文字和符号的总称,包括各个国家文字、标点符号、图形符号、数字等;
(2)字符编码:将符号转换为计算机可以接受的数字系统的数,成为数字代码;
(3)乱码:在解码的过程中使用了错误的解码规则,即编码与解码的方式不一致,导致解码出现的字符不正确;
之前一直纠结于字符集与编码方式到底有何区别,但经过一番阅读后,发现,字符集与编码方式不能完全分开来谈,字符集包括各个国家的文字、标点符号、数字、图形符号等等,是计算机存储的信息展示在我们眼前的样子,但是,众所周知,计算机的信息都是采用二进制数来存储的,那么我们如何来看到这些字符,以及这些字符是如何存储在计算机中的,都对应着“解码”、与“编码”的过程;即字符需要编码从而使用二进制数存储在计算机中,而信息需要解码才能以字符的方式展现在我们眼前,即通过计算机屏幕显示出来;每一种编码方式都对应一种字符集;而每一种字符集又可采用一种或多种编码方式进行编码、解码;
如ASCII编码是将字符集转换为计算机可接受的数字系统的数的规则;
又如GBXXXX编码是将GBXXXX字符集转换为二进制的规则;
utf-8 utf-16 utf-32等都是将unicode字符集转换为二进制的不同的规则;
这篇关于【编码】字符集与编码意义与关系、java编程编码问题相关学习笔记的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!