`
haouziwefe
  • 浏览: 127447 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
社区版块
存档分类
最新评论

()Java编码换的详细过程

    博客分类:
  • java
阅读更多
   
<div style="color: #000000; font-family: verdana, arial, helvetica, sans-serif; font-size: 12px; background-color: #ffffff; margin: 8px;"><div class="blog_content"><div><strong style="font-weight: bold;"><strong style="font-weight: bold;"><strong style="font-weight: bold;"><strong style="font-weight: bold;"><strong style="font-weight: bold;">我们常见的java程序包括以下类别:<br>       *直接在console上运行的类(包括可视化界面的类)<br>       *jsp代码类(注:jsp是servlets类的变型)<br>       *servelets类<br>       *ejb类<br>       *其它不可以直接运行的支持类<br>这些类文件中,都有可能含有中文字符串,并且我们常用前三类java程序和用户直接交互,用于输出和输入字符,如:我们在jsp和servlet中得到客户端送来的字符,这些字符也包括中文字符。无论这些java类的作用如何,这些java程序的生命周期都是这样的:<br>*编程人员在一定的操作系统上选择一个合适的编辑软件来实现源程序代码并以.java扩展名保存在操作系统中,例如我们在中文win2k中用记事本编辑一个java源程序;<br>       *编程人员用jdk中的javac.exe来编译这些源代码,形成.class类(jsp文件是由容器调用jdk来编译的);<br>       *直接运行这些类或将这些类布署到web容器中去运行,并输出结果。<br>      那么,在这些过程中,jdk和jvm是如何将这些文件如何编码和解码并运行的呢?<br>      这里,我们以中文win2k操作系统为例说明java类是如何来编码和被解码的。<br>第一步,我们在中文win2k中用编辑软件如记事本编写一个java源程序文件(包括以上五类java程序),程序文件在保存时默认采用了操作系统默认支持gbk编码格式(操作系统默认支持的格式为file.encoding格式)形成了一个.java文件,也即,java程序在被编译前,我们的java源程序文件是采用操作系统默认支持的file.encoding编码格式保存的,java源程序中含有中文信息字符和英文程序代码;要查看系统的file.encoding参数,可以用以下代码:<br>public class showsystemdefaultencoding {<br>public static void main(string[] args) {<br>string encoding = system.getproperty("file.encoding");<br>system.out.println(encoding);<br>}}<br>第二步,我们用jdk的javac.exe文件编译我们的java源程序,由于jdk是国际版的,在编译的时候,如果我们没有用-encoding参数指定我们的java源程序的编码格式,则javac.exe首先获得我们操作系统默认采用的编码格式,也即在编译java程序时,若我们不指定源程序文件的编码格式,jdk首先获得操作系统的file.encoding参数(它保存的就是操作系统默认的编码格式,如win2k,它的值为gbk),然后jdk就把我们的java源程序从file.encoding编码格式转化为java内部默认的unicode格式放入内存中。然后,javac把转换后的unicode格式的文件进行编译成.class类文件,此时.class文件是unicode编码的,它暂放在内存中,紧接着,jdk将此以unicode编码的编译后的class文件保存到我们的操作系统中形成我们见到的.class文件。对我们来说,我们最终获得的.class文件是内容以unicode编码格式保存的类文件,它内部包含我们源程序中的中文字符串,只不过此时它己经由file.encoding格式转化为unicode格式了。这一步中,对于jsp源程序文件是不同的,对于jsp,这个过程是这样的:即web容器调用jsp编译器,jsp编译器先查看jsp文件中是否设置有文件编码格式,如果jsp文件中没有设置jsp文件的编码格式,则jsp编译器调用jdk先把jsp文件用jvm默认的字符编码格式(也即web容器所在的操作系统的默认的file.encoding)转化为临时的servlet类,然后再把它编译成unicode格式的class类,并保存在临时文件夹中。如:在中文win2k上,web容器就把jsp文件从gbk编码格式转化为unicode格式,然后编译成临时保存的servlet类,以响应用户的请求。<br>      第三步,运行第二步编译出来的类,分为三种情况:<br>      a、 直接在console上运行的类<br>      b、 ejb类和不可以直接运行的支持类(如javabean类)<br>      c、 jsp代码和servlet类<br>      d、 java程序和数据库之间</strong></strong></strong></strong></strong>
0
2
分享到:
评论

相关推荐

    java编码转换的详细过程.pdf

    Java 编码转换的详细过程 Java 编码转换是 Java 程序的生命周期中一个非常重要的过程。在 Java 程序的生命周期中,编程人员首先编写源程序代码,然后将其编译成.class 文件,最后将其运行在 JVM 中。在这个过程中,...

    java字符编码转换详细过程

    ### Java字符编码转换详细过程 #### 一、Java程序的生命周期与字符编码处理流程 Java程序的生命周期可以概括为三个主要阶段:编写源代码、编译源代码以及运行编译后的类文件。在这个过程中,涉及到多种字符编码的...

    java字符串编码转换

    本文介绍了Java字符串编码转换的基础知识,并结合Web环境中的具体应用场景进行了详细的说明。在处理不同编码格式的数据时,正确地使用编码转换方法对于确保数据的一致性和准确性非常重要。开发者应当熟悉各种编码...

    java 文件编码转换

    在IT行业中,文件编码转换是一项基础且...Java提供的API使得开发者能够方便地实现这个过程,而`chardet.jar`和`FileCharsetDetector.java`这样的工具和代码则简化了这个任务,确保我们能够正确地处理各种编码的文件。

    Java字符编码转换过程说明

    Java字符编码转换是Java开发中一个重要的...总的来说,理解Java中的字符编码转换过程至关重要,这有助于在处理多语言和跨平台项目时避免数据丢失或乱码问题。开发者应始终关注编码的正确设置,并在必要时进行手动转换。

    java中文乱码解决之道(4)java编码转换过程Java

    在Java编程语言中,中文乱码问题是一个常见的挑战,特别...以上内容涵盖了Java编码转换的基本原理和处理乱码问题的关键点,希望对Java开发者有所帮助。在实际工作中,遇到具体问题时,还需结合实际情况进行分析和调试。

    java文件的编码转换

    这个过程可以封装成一个函数,接受文件路径和目标编码作为参数,实现批量转换。不过,描述中提到的"FileChange"可能是实现这个功能的程序或类,它限制了只转换.java后缀的文件,并且只支持GBK和UTF-8之间的转换。 ...

    JAVA 转换字符编码工具

    3. **编码过程**:查找使用`CharsetEncoder.encode()`的代码,这是将字符流转换为字节流的过程。 4. **异常处理**:编码和解码过程中可能出现`CharacterCodingException`,看看如何捕获和处理这类异常。 5. **效率...

    java编码转换介绍文档

    Java编码转换是一个重要的主题,特别是在处理跨平台和国际化应用时。Java编程中,编码问题时常出现,例如在处理中文字符时可能出现乱码。为了解决这些问题,Java提供了一个名为`native2ascii`的工具,该工具能够帮助...

    java中文乱码问题详解.pdf

    2. Java编码转换详细过程: - 编程时,开发者在特定操作系统(如中文Win2K)上使用编辑器(如记事本)以GBK编码保存.java源文件。 - 使用JDK的javac编译器编译.java文件,Java编译器能够识别Unicode注释和字符串,...

    java_各种编码转换源代码

    在Java编程语言中,编码转换是一项重要的任务,特别是在处理不同来源的数据时,如读取文本文件、网络数据传输或数据库交互。...通过深入研究和实践,可以增强对Java编码转换机制的理解,提升软件质量。

    Huffman编码的java实现

    Huffman编码是一种高效的数据压缩算法,它基于字符出现频率构建...在Java中实现这一过程,需要处理字符频率统计、构建Huffman树、生成编码、写入和读取字节流等步骤。同时,为了优化性能,可能还涉及了快速排序等算法。

    文件内容替换与文件编码格式转换java源码

    本主题聚焦于如何使用Java源码实现这一功能,尤其是针对Eclipse开发环境中从GBK编码转换到UTF-8编码的过程。下面我们将深入探讨相关的知识点。 首先,我们需要了解编码的基本概念。GBK是中国大陆使用的汉字编码标准...

    tlv的java编码和解码

    编码过程通常是从已知的TLV对象转换为字节数组,而解码则是从字节数组中恢复出TLV对象。 编码过程通常包括以下步骤: 1. **计算Tag、Length和Value的字节大小**:对于Tag和Length,需要根据其数值大小决定使用多少...

    游程编码 JAVA 代码

    Java 代码实现游程编码,首先需要遍历图像的每个像素,记录当前像素值以及遇到相同像素值的连续个数。当遇到不同像素值时,将上一个像素值及其个数作为一对数据输出。在处理二值图像时,只需考虑两种可能的像素值,...

    js解码 、java编码

    本文将深入探讨“js解码”和“java编码”这两个主题,并结合标签“源码”和“工具”,讨论如何在实际项目中应用它们。 首先,我们来看JavaScript中的解码。JavaScript是一种在客户端和服务器端都能运行的脚本语言,...

    JAVA编码规范试题

    JAVA编码规范是软件开发中不可或缺的一部分,它不仅有助于提高代码的可读性和可维护性,还能促进团队协作,减少潜在的编程错误。以下是从给定的文件信息中提炼出的关键知识点,涵盖了JAVA编码规范的基本原则、文件...

    Java编码规范.doc

    这份文档,"Java编码规范.doc",由东软集团有限公司的商用软件事业部编写,包含了国内大型Java项目和国际知名公司遵循的编码规范,以及编码过程中的注意事项和可能引发的问题。以下是对这份规范的一些关键点的详细...

    用java修改文件的编码

    7. **第三方库**:除了使用Java标准库,还可以借助第三方库,如Apache Commons IO或Google的Guava库,它们提供了更高级别的文件操作API,可能简化编码转换的过程。 了解并熟练运用这些知识点,您就能在Java中高效地...

    JAVA文件编码转换

    在计算机科学领域中,文件编码是指将文本数据转换为计算机可读格式的过程。不同的系统或环境可能使用不同的字符集来表示相同的文本。例如,中文环境中常见的字符集有GBK、GB2312、UTF-8等。正确识别并处理文件编码...

Global site tag (gtag.js) - Google Analytics