【总结】Java和Unicode字符集

        现今使用的绝大多数操作系统都采用ASCII代码集表示字符。ASCII最初使用7位码表示大小写字母、数字0~9以及若干控制字符,如NUL和EOT。在西欧,用户希望代码集能表示他们本国字符集的所有字符,ASCII代码集因而被扩展到8位,即增加至128个字符,用于表示英文中不存在的各种西欧语言的字符。这种扩展的8位代码位ISO8859-Latin-1代码集。
        Java需要使用更普遍的解决方案,用于支持拥有数千个表意文字的亚洲语言。这种解决方案选用的是Unicode。Unicode是ISO标准16位字符集,支持65 536个不同的字符。其中大约有21 000个字符专门用于中文、日文和韩文的表意文字。ISO Latin-1代码集占用Unicode的前256个字符,实际上是Unicode的子集,就像ASCII是ISO Latin-1的子集一样。
        Java内部使用2个字节表示每个字符,采用Unicode编码。如果只用到ASCII或ISO Latin-1,则编码是相同的。但每个字符将多占用一个额外的字节。
        在UNIX、Windows和Macintosh系统上,默认的字符集都是基于8位的。当Java从这些系统中读取一个字符时,操作系统只提供一个8位的字节,但Java总是把他存放到16位的数据类型中,并且重视按16位进行处理。当需要读入或写出16位Unicode字符和ASCII字符时,Java能采用默认的方式正确执行相应的转换。并且,如果需要某些不同的特殊处理,也能找到解决办法。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值