java语言采用双字节的什么字符编码?

虽然是说java现在在IT开发行业的地位可谓是举足轻重,但是小编也相信应该还有不少朋友们是不了解java这门编程语言的底层结构的,比如说,你知道java语言是采用了双字节的字符编码是什么吗?下面就带大家一起看看。

java语言采用双字节的什么字符编码?

在目前的计算机应用中,英文字符最常用的编码方法是 ASCII,一般以一个字节来表示。但一个字节最多只能区分256个字符。而其他的语言,以汉字为例,汉字成千上万,仅以一个字节无法表示。所以现在都以双字节表示汉字。

虽然 Java 的基本类已考虑到对非英文的多语言支持(默认 UNICODE 编码),但是如果操作系统的默认编码不是 UNICODE ,要从 Java 源代码到得到正确的结果,就要经过一个较为复杂的过程。该过程为: "Java 源码 --> Java 字节码 --> Java虚拟机 --> 操作系统 --> 显示设备"。在该过程中,我们在每一步都必须正确地处理双字节/汉字的编码,才能够正确显示最终的双字节结果。

Java 源码 到 Java 字节码的双字处理。Javac(标准Java 编译器)使用的字符集为操作系统默认的字符集,比如在中文 Windows 操作系统上是 GBK/GB18030 ,而在英文UNIX 操作系统上就是ISO-8859-1。因此开发人员会发现在 英文UNIX 操作系统上编译的类,其中双字节(中文)字符都成了乱码或者问号。解决方案是在编译时添加 encoding 参数,就可以做到与平台无关。语法如下:

javac -encoding GBK

Java 字节码到Java虚拟机再到操作系统的双字处理。JRE (Java 运行环境) 分为国际版和英文版,其中只有国际版才支持非英文字符。JDK(Java 开发工具包) 都肯定支持非英文字符,但并非所有的服务器(或者开发平台)都会安装JDK 。很多操作系统及应用软件都会内嵌 JRE 的国际版本,例如WebSphere Application Server多语言版,为产品及其应用支持非英文字符提供了完全的支持。

操作系统到显示设备的双字节处理。支持非英文字符的最基本条件是操作系统必须支持并能够显示它。如果是纯英文操作系统,如果不搭配特殊的应用软件,肯定不能够显示双字节字符(例如中文)。因此在实际环境中,特别是UNIX操作系统,要特别留意是否安装了多语言支持包

我们在国内经常碰到的编码方式有 GB2312、GBK、UNICODE、以及国家质量技术监督局在2000年发布并作为一项国家标准正式强制执行的GB18030等。

我整理了一些java技术资料和面试题集,供大家提升进阶,不管你是要入门学习还是想面试跳槽巩固基础,都可以免费领取一份。

扫描二维码关注公众号,回复: 14256791 查看本文章

下面展示部分截图,文末附免费下载方式。

第一篇:基础篇

图片

第二篇:JVM 篇

图片

第三篇:多线程 &并发篇

图片

第四篇:Spring 篇

图片

第五篇:MyBatis 篇

图片

第六篇:Spring Boot 篇

图片

第七篇:MySQL 篇

图片

第八篇:Redis 篇

图片

第九篇:Spring Cloud 篇

图片

第十篇:Nginx 篇

图片

第十一篇:MQ 篇

图片

第十二篇:数据结构与算法篇

图片

第十三篇:Linux 篇

图片

第十四篇:简历篇

图片

最后

整份文档一共有将近 200 页,为了不影响大家的阅读体验就只展示了部分内容,希望能帮助到您面试前的复习且找到一个好的工作,也节省大家在网上搜索资料的时间来学习!

需要的小伙伴点击下方名片,扫码免费领取。

猜你喜欢

转载自blog.csdn.net/weixin_45987729/article/details/124847027