unicode码

Unicode(统一码、万国码、单一码)是计算机科学领域里的一项业界标准,包括字符集、编码方案等。

ascii码

ASCII ((American Standard Code for Information Interchange): 美国信息交换标准代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。

众所周知,c语言中使用的采用的是ascii码的编码方式,采用1byte表示出128种不同的字符,其中首位为0,后7位表示具体的ascii码值,总共可表示图片说明 种不同的值.
采用ascii码表示字符,足够表示出日常所需的所有英文单词,以及一些特殊的制表符或操作符.
图片说明
以上是一张ascii码表,图片来源百度百科

尽管ascii足够满足几乎所有使用英文的国家的使用,但随着pc的推广,越来越多的国家进入了信息时代,ascii码中显然没有预留足够的位置来表示这些字符,所以unicode码就产生了.
为了解决传统字符编码方案的的局限,以满足跨平台,跨语言的文本转换操作需求,Unicode码于1994年正式面世.
在java中unicode采用两个byte表示字符,共可表示图片说明 种不同的字符,基本上可以满足目前所有国家文字的编码.

UTF-8

UTF-8(8-bit Unicode Transformation Format)是一种针对Unicode的可变长度字符编码,由Ken Thompson于1992年创建,现在已经标准化为RFC 3629。UTF-8用1到4个字节编码Unicode字符。用在网页上可以统一页面显示中文简体繁体及其它语言(如英文,日文,韩文)文字来源

因此,为了存储表示unicode码,java中的char类型占用2byte,与c语言中的1byte不同.