`

java输入输出类与字符集编码-乱码

    博客分类:
  • java
阅读更多

java.io包中的输入输出类众多,对于初学者来说很容易混淆.但是当初学者了解了"装饰器模式"后一切变的迎刃而解;同时初学者在学习"字节流"和"字符流"时,为了能更好的区分这两种流类,还需要掌握java中的字符集编码.

先说说这些流的分类吧:java中的抽象流类可分为"字节流"与"字符流"两类;到,相信一些初学者开始疑惑了,究竟"字节流"与"字符流"有什么区别呢.我们说,"字节流"是用本地操作系统字符集编码所表示的流;而"字符流"是用java虚拟机中所设置的字符集编码(如ISO_8859_1)解码字节流所形成的用于存储的字符串(Unicode码).举个很简单的例子吧:比如我们从键盘输入内容然后再将输入内容输出到屏幕,这个过程就是一个"字节流"与"字符流"相互转换的过程.

首先我们通过键盘输入的内容是以字节流的形式输入到计算机中的,并且此字节流是采用本地计算机操作系统字符集编码进行编码的(比如GBK);

然后,我们用此字节流去构造一个String对象,此时如果不指定字符集编码,那么java虚拟机将采用java设置的字符集编码进行解码(如:ISO_8859_1);

最后将此字符串输出到屏幕,System.out类将采用本地计算机操作系统字符集编码将字符串编码成字节流输出到屏幕.

此时大家是否已经想到了java中有时出现的乱码问题,是的,java中的乱码就是由于解码与编码分别采用不同的字符集编码所造成的.

 

分享到:
评论

相关推荐

    JAVA及相关字符集编码问题

    为了避免此类问题,开发者需要确保在整个数据处理流程中,从输入到输出,都使用一致的字符集编码。 总结 JAVA及相关字符集编码问题是开发过程中不可忽视的一环,尤其是当涉及到国际化和多语言支持时。正确理解和...

    字符集--Java编码相关.doc

    Java字符集与编码问题在编程实践中经常遇到,尤其是在处理中文字符时。Java系统内部以UTF-8编码进行字符串运算,但字符串的初始编码则取决于操作系统的默认编码。这意味着,如果Java程序的输入、输出以及操作系统三...

    Java字符集编码简记

    在IT行业中,字符集编码是基础且至关重要的概念,尤其对于Java开发者来说,理解编码机制是处理各种文本数据的关键。本文将围绕“Java字符集编码简记”这一主题,深入探讨相关知识点,并结合标签“源码”和“工具”,...

    java中文乱码问题详解--- java中文乱码问题详解

    4. **输入输出流的编码设置**:Java程序在进行文件读写或网络通信时,需要显式地指定字符集编码,以避免乱码问题的发生。 5. **浏览器与服务器间的编码一致性**:对于Web应用程序而言,客户端与服务器之间必须保持...

    Java解决WE8DEC字符集乱码问题

    Java中,`Charset`类用于处理字符集和编码转换。 2. **Java中的字符编码** Java标准库提供了广泛的字符集支持,通过`java.nio.charset.Charset`类可以访问和操作它们。在Java中,字符串默认使用Unicode(UTF-16)...

    字符集和乱码解决方案

    解决乱码问题的关键是统一字符集,使得整个输入输出流程使用同一种字符集。 乱码解决方案 解决乱码问题需要在整个输入输出流程中统一字符集。下面是解决方案的步骤: 1. 在HTML页面中统一字符集,使用<meta http-...

    java 编码,乱码,字符系列(1)

    本文将围绕“Java编码与乱码”这一主题展开,探讨字符编码系列的第一部分。 首先,我们需要理解什么是字符编码。字符编码是计算机用于表示文字、符号等字符的方式,它为每个字符分配了一个唯一的数字,使得计算机...

    数据库编程之编码转换实例--乱码分析

    3. 调整应用程序编码:确保应用程序的输入输出编码与数据库的编码匹配。 4. 使用转换工具:对于已存在乱码的数据,可以使用一些工具(如Notepad++、iconv等)进行转码。 5. 验证结果:在调整后,重新读取数据并...

    Java中的字符集编码入门(五)Java代码中的字符编码转换Part1.doc

    ### Java中的字符集编码入门(五):Java代码中的字符编码转换Part1 #### 核心知识点概述: 本文档深入探讨了Java编程语言中字符集编码的基础知识,并着重讲解了字符编码转换的基本原理及其在Java代码中的应用。...

    Java中文乱码浅析及解决方案

    Tomcat应用服务器允许我们配置字符集编码,如在server.xml中设置`URIEncoding`和`useBodyEncodingForURI`属性。在Spring Boot中,可以使用以下配置: ```yaml server: tomcat: uri-encoding: UTF-8 spring: ...

    Java及相关字符集编码问题研究

    ### Java及相关字符集编码问题研究 #### 一、字符集编码基础 ...通过深入理解不同字符集编码的特点和Java中的处理机制,可以有效避免在开发过程中遇到的乱码问题,提高软件的国际化水平和用户体验。

    java中文乱码解决问题

    这是因为在编译 Servlet 类或者 JSP 文件时,如果没有使用 -encoding 参数指定 Java 源程序的编码格式,javac 会获取本地操作系统默认采用的字符集,以该字符集将 Java 源程序转换为 Unicode 编码保存到内存中,然后...

    java代码输入 输出

    - 在Java中,标准输入输出是通过`java.lang.System`类实现的,其中`System.in`用于获取标准输入,而`System.out`用于输出数据。 - `System.in`是一个`InputStream`对象,可以用来读取用户从键盘输入的数据。 #### ...

    Web下Java语言如何访问不同字符集的Oracle数据.pdf

    对于第一种情况,即存取西文字符集的Oracle数据时出现乱码,解决方法通常是确保Java程序的编码与数据库的字符集相匹配。例如,如果数据库使用的是ISO 8859-1,那么Java程序需要将输入输出流的编码设置为"ISO-8859-1...

    2.java字符集.zip

    在处理输入输出流时,Java提供了`InputStreamReader`和`OutputStreamWriter`类用于字符流和字节流之间的转换。它们分别需要指定字符编码来创建,这样可以确保数据在转换过程中不会丢失信息。 5. 文件编码读写 在...

    Java Web程序开发中字符乱码的原因与解决办法.zip

    在Java Web程序开发中,字符乱码是一个常见的问题,它主要出现在输入输出、编码转换以及数据库存储等环节。本文将深入探讨字符乱码产生的原因,并提供相应的解决策略。 首先,我们要理解字符编码的基础知识。字符...

    JAVA字符编码系列三[借鉴].pdf

    - Java内部默认使用Unicode编码,但在输入输出、网络传输、文件读写时需注意设置合适的编码,否则可能导致乱码。 - Java中的`InputStreamReader`和`OutputStreamWriter`用于在字节流和字符流之间转换,可以指定...

    java jsp解决utf-8乱码.zip

    5. 字符流操作不当:在处理输入输出流时,如果没有指定正确的字符编码,例如读取或写入文件,也可能引发乱码。 针对这些问题,我们可以采取以下措施进行解决: 1. 使用统一的编码:确保整个项目的文件都使用UTF-8...

    Java中的字符集编码入门(五)Java代码中的字符编码转换Part1[参考].pdf

    Reader和Writer在处理输入输出时,默认使用操作系统默认的字符编码,例如在中文版的Windows XP系统中通常是GBK编码。这意味着,当读取GBK编码的文件时,Reader会自动将GBK编码的字节流转换为UTF-16的字符流;反之,...

    JAVA中文乱码深度分析

    Java编程中的中文问题源于计算机早期对单字节字符编码的依赖,主要体现在Unicode编码与操作系统默认编码(如GBK、GB2312)之间的转换不匹配。Java使用Unicode作为内部编码,这允许其跨平台兼容性,但同时也引出了...

Global site tag (gtag.js) - Google Analytics