Pet*_*rey 26
在Java中,字符是16位,C是8位.
更普遍的问题是为什么会这样?
找出为什么你需要查看历史并就此主题得出结论/ 意见.
当C在美国开发时,ASCII在那里非常标准,你只需要7位,但是有8位你也可以处理一些非ASCII字符.看起来绰绰有余.许多基于文本的协议(如SMTP(电子邮件),XML和FIX)仍然只使用ASCII字符.电子邮件和XML编码非ASCII字符.二进制文件,套接字和流仍然只是8位字节本机.
顺便说一句:C可以支持更广泛的字符,但这并不简单 char
当Java开发时,16位似乎足以支持大多数语言.从那时起,unicode已扩展到65535以上的字符,Java必须添加对UTF-16字符的代码点的支持,并且可以是一个或两个16位字符.
因此,当时制作一个byte字节和char一个无符号的16位值是有意义的.
顺便说一句:如果你的JVM支持-XX:+UseCompressedStrings它,它可以使用字节而不是字符串只用于8位字符的字符串.
| 归档时间: |
|
| 查看次数: |
10677 次 |
| 最近记录: |