JAVA的字符集的部分汉字字节数的知识点

</pre></div><div style="text-indent:28px"><span style="font-size:14px"><span style="font-family:Simsun; font-size:14px">------- </span><a target=_blank target="_blank" href="http://www.itheima.com/" style="font-family:Simsun; font-size:14px">android培训</a><span style="font-family:Simsun; font-size:14px">、</span><a target=_blank target="_blank" href="http://www.itheima.com/" style="font-family:Simsun; font-size:14px">java培训</a><span style="font-family:Simsun; font-size:14px">、期待与您交流! ----------</span></span></div><div style="text-indent:28px"><span style="font-size:14px">一:<span style="font-family:arial,宋体,sans-serif; line-height:24px"><span style="color:rgb(51,51,51)">ASCII 码</span>使用指定的7 位或8 位二进制</span><span style="background-color:rgb(255,255,255)">数<span style="font-family:arial,宋体,sans-serif; line-height:24px; text-indent:28px">组合来表示128 或256 种可能的字符</span><span style="font-family:arial,宋体,sans-serif; line-height:24px; text-indent:28px">。标准ASCII 码也叫基础ASCII码,使用7 位二进制数</span><span style="font-family:arial,宋体,sans-serif; line-height:24px; text-indent:28px">来表示所有的大写和小写字母,数字0 到9、标点符号, 以及在美式英语中使用的特殊的控制字符</span></span></span><span style="font-family:arial,宋体,sans-serif"><span style="line-height:24px"><span style="background-color:rgb(255,255,255)"><span style="font-size:14px">。<span style="font-family:arial,宋体,sans-serif; line-height:24px; text-indent:28px">0-127 是7位ASCII 码的范围,是国际标准。即一个非汉字的字符使用<strong>一个字节</strong>的7位表示</span></span><span style="font-family:arial,宋体,sans-serif; line-height:24px; text-indent:28px"><span style="font-size:14px">。</span></span></span></span></span><pre id="best-content-892173385" class="best-text mb-10" style="margin-top:0px; margin-bottom:10px; padding:0px; font-family:arial,'courier new',courier,宋体,monospace,'Microsoft YaHei'; white-space:pre-wrap; word-wrap:break-word; line-height:24px; background-color:rgb(243,255,236)"><span style="font-size:14px">GBK、GB2312收编的汉字占2个字节,严格地用iso8859-1无法表示汉字,只能转为问号。</span>

ISO-8859-1编码是单字节编码,不过比ASCII多使用了1位,单字节的8位都使用。向下兼容ASCII,其编码范围是0x00-0xFF,0x00-0x7F之间完全和ASCII一致,0x80-0x9F之间是控制字符,0xA0-0xFF之间是文字符号。是欧洲的字符集。ISO-8859-1收录的字符除ASCII收录的字符外,还包括西欧语言、希腊语、泰语、阿拉伯语、希伯来语。

三:GB_2312 字符集是目前最常用的汉字编码标准,windows 95/98/2000 中使用的 GBK字符集 就包含了GB2312,或者说和GB2312 兼容,GB_2312 字符集包含了 6763个的 简体汉字,和682 个标准中文符号。在这个标准中,每个汉字用2个字节来表示,每个字节的ascii码为 161-254 (16 进制A1 - FE),第一个字节 对应于 区码的1-94 区,第二个字节 对应于位码的1-94 位。

四:GBK字符集,是在GB2313-80标准基础上的内码扩展规范,使用了双字节编码方案,其编码范围从8140至FEFE(剔除xx7F),共23940个码位,共收录了21003个汉字,完全兼容GB2312-80标准,支持国际标准ISO/IEC10646-1和国家标准GB13000-1中的全部中日韩汉字,并包含了BIG5编码中的所有汉字。

五:Unicode(统一码、万国码、单一码)字符集是计算机科学领域里的一项业界标准,包括字符集、编码方案等,Unicode是国际组织制定的可以容纳世界上所有文字和符号的字符编码方案。Unicode占用两个字节 Unicode是国际组织制定的可以容纳世界上所有文字和符号的字符编码方案。它通过增加一个高字节对ISO Latin-1字符集进行扩展,当这些高字节位为0时,低字节就是ISO Latin-1字符。

六:UTF-8(8-bit Unicode Transformation Format)字符集是一种针对Unicode的可变长度字符编码,又称万国码。UTF-8用1到6个字节编码UNICODE字符。表示ASCII字符的UNICODE字符,将会编码成1个字节,并且UTF-8表示与ASCII字符表示是一样的。所有其他的UNICODE字符转化成UTF-8将需要至少2个字节。
常用中文字符用utf-8编码占用3个字节(大约2万多字),但超大字符集中的更大多数汉字要占4个字节(在unicode编码体系中,U+20000开始有5万多汉字)。
七:UTF-16是Unicode字符编码五层次模型的第三层:字符编码表(Character Encoding Form,也称为 "storage format")的一种实现方式。UTF-16比起UTF-8,好处在于大部分字符都以固定长度的字节 (2字节) 储存,但UTF-16却无法兼容于ASCII编码。
八.验证中文在字符集中占用的字节数:
 
 
byte[] iso8859 = "中文".getBytes("ISO-8859-1");
byte[] utf8 = "中文".getBytes("UTF-8");
System.out.println("iso8859编码的\"中文\"占用的字节数:"+iso8859);
System.out.println("UTF-8编码的\"中文\"占用的字节数:"+utf8);
 
参考资料:百度百科

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值