java学习(3):字符集和字符编码的区别
字符集和字符编码的区别?
字符集是多个字符的集合 比如ascii和Unicode,但是ascii是出得比较早的,也是西方国家最开始用的 对于现在是不完善的,也就是只有一小部分,Unicode是万能字符集,包含了世界上绝大部分字符。
字符编码,相当于密码学上的加密解密一样的,存储的时候是用什么编码存储的 取的时候就用什么编码来取,然后编码方式并不是每一种字符对应的,比如Unicode字符集,你可以用gbk存取,也可以用utf-8存取,也可以用utf-16 或者 32存取。
关键要保证存取的编码方式是一样的
字符集:多个字符的集合。例如GB2312是中国国家标准的简体中文字符集,GB2312收录简化汉字(6763个)及一般符号、序号、数字、拉丁字母、日文假名、希腊字母、俄文字母、汉语拼音符号、汉语注音字母,共 7445 个图形字符。
字符编码:把字符集中的字符编码为(映射)指定集合中的某一对象(例如:比特模式、自然数序列、电脉冲),以便文本在计算机中存储和通过通信网络的传递。
字符集和字符编码的关系 :
字符集是书写系统字母与符号的集合,而字符编码则是将字符映射为一特定的字节或字节序列,是一种规则。通常特定的字符集采用特定的编码方式(即一种字符集对应一种字符编码(例如:ASCII、IOS-8859-1、GB2312、GBK,都是即表示了字符集又表示了对应的字符编码,但Unicode不是,它采用现代的模型)),因此基本上可以将两者视为同义词。