1.字符集 与 字符集编码
字符集是指待表示的字符集合。GB 2312是一个中文字符集,收录6763个汉字,其中一级汉字3755个,二级汉字3008个;同时,GB 2312收录了包括拉丁字母、希腊字母、日文平假名及片假名字母、俄语西里尔字母在内的682个全角字符。每个字符用两个字节表示。big5为台湾繁体字符集.....,相同的字节在不同的字符集中表示不同的字符。为了统一,提出unicode字符集。
unicode它为每种语言中的每个字符设定了统一并且唯一的二进制编码。每个字符集(不论是gb2312,big5,gbk,unicode)中,每个字符都是由一个固定长度的二进制数表示,如unicode字符集中,汉字的'汉',用0x6C49表示。为了表示汉字的‘汉’,可以在存储介质上以0x6c49表示。对于大多数字符集而言,字符集和字符集编码是一致的。但是,unicode表示了每种语言的字符,英文字符原来是ASCII字符集,当采用unicode,意味着英文字符在存储介质上占用的空间翻倍,而且和原来的表示不兼容。从而提出了字符集编码的方式来解决该问题。字母A在unicode字符集中,以0x0065表示,在保存在存储介质时,只存储0x65。这就是utf-8的编码,以变长字节表示。
2.jvm内部采用unicode字符集,采用utf-16编码