`
ylzyd12345
  • 浏览: 121613 次
  • 性别: Icon_minigender_1
  • 来自: 江苏
博客专栏
713488f4-d0a9-3f35-997f-199fb0cb3563
玩懂Log,打开Andro...
浏览量:10579
社区版块
存档分类
最新评论

Eclipse控制台中输入中文保存到文件中,字符编码转换测试

阅读更多

 

Eclipse:代码编码格式UTF-8;控制台编码格式GBK

对“你好”编码解码

 

 

 

Eclipse:代码编码格式UTF-8;控制台编码格式UTF-8

对“你好”编码解码

public class EncodeDemo {
	public static void main(String[] args) throws IOException{
		String s = "你好";
		byte[] b1 = s.getBytes("utf-8");
		System.out.println(Arrays.toString(b1));
		String s1 = new String(b1, "iso-8859-1");
		System.out.println(s1);
	}
}
 

 

-----------------------------------------------------------------------------------------

编码测试: win7中文操作系统,Eclipse工程编码是UTF-8,Console是UTF-8

从eclipse的console中输入中文“你好”,保存在硬盘中txt格式,用记事本打开结果如下:

 

 

 

结论:


in: 默认编码是UTF-8

out:默认编码是UTF-8  


要想记事本打开正常:设置out编码为GBK
注意:但是再读取到Eclipse控制台,正常显示出来,不需要设置编码为GBK。

 

public static void readIn() throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in,"UTF-8"));//设置控制台读取编码
		BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("c:\\a.txt"),"UTF-8"));//设置写入 txt编码
		String s = null;
		while ((s = br.readLine()) != null) {
			if (s.equals("over")) {
				break;
			}
			bw.write(s);
			bw.newLine();
		}
		bw.flush();
		br.close();
		bw.close();
	}
  • 大小: 83.4 KB
  • 大小: 34.7 KB
  • 大小: 35.2 KB
1
0
分享到:
评论
2 楼 ylzyd12345 2012-10-17  
wangxiaolongbob 写道
我有不同意见,我认为作者一开始的2幅图把编码和解码搞反了。
我认为:
把“字符”转化成“字节”叫编码
把“字节”转化成“字符”叫解码

所以:
public class EncodeDemo {
public static void main(String[] args) throws IOException{
String s = "你好";
byte[] b1 = s.getBytes("utf-8");  //编码过程
System.out.println(Arrays.toString(b1));
String s1 = new String(b1, "iso-8859-1");//解码过程
System.out.println(s1);
}
}

而我按照上述表格运行,发现作者把解码和编码弄反了,请问,作者同意我吗?
http://blog.csdn.net/llyzq/article/details/2476685这是别人写的博客。


好久没来javaeye了。谢谢!你说的对。
1 楼 wangxiaolongbob 2012-09-20  
我有不同意见,我认为作者一开始的2幅图把编码和解码搞反了。
我认为:
把“字符”转化成“字节”叫编码
把“字节”转化成“字符”叫解码

所以:
public class EncodeDemo {
public static void main(String[] args) throws IOException{
String s = "你好";
byte[] b1 = s.getBytes("utf-8");  //编码过程
System.out.println(Arrays.toString(b1));
String s1 = new String(b1, "iso-8859-1");//解码过程
System.out.println(s1);
}
}

而我按照上述表格运行,发现作者把解码和编码弄反了,请问,作者同意我吗?
http://blog.csdn.net/llyzq/article/details/2476685这是别人写的博客。

相关推荐

    JAVA中文字符编码问题详解.doc

    1. 在 eclipse 窗口中输入中文字符,并保存成 UTF-8 的 JAVA 文件。这里发生了多次字符编码转换。 2. 在 eclipse 中编译运行此 JAVA 文件。这里有必要详细分析一下编译和运行时的字符编码转换。 * 编译:javac 编译...

    MyEclipse控制台中文乱码的解决

    要解决MyEclipse控制台中文乱码的问题,首先需要了解Java中字符编码的基本概念。 ##### 2.1 字符集与编码 在计算机中,字符必须被编码才能被处理。字符集定义了一组字符以及它们的编码方式。常见的字符集包括ASCII...

    java中文乱码问题

    1. 在 Eclipse 窗口中输入中文字符,并保存成 UTF-8 的 Java 文件。这里发生了多次字符编码转换。不过因为我们相信 Eclipse 的正确性,所以我们不用分析其中的过程,只需要相信保存下的 Java 文件确实是 UTF-8 格式...

    JAVA编码问题.pdf

    1. **编辑与保存**:在Eclipse中输入中文字符并保存为UTF-8编码的Java文件。Eclipse允许为每个文件设置编码,确保它正确地保存了UTF-8格式的文件。 2. **编译**:Java编译器(javac)默认使用操作系统的默认编码来...

    彻底解决中文乱码的问题

    这主要涉及到字符编码的处理,涉及到Unicode、GBK、UTF-8等不同编码格式之间的转换和一致性问题。本篇文章将深入探讨这个问题,并提供一种彻底解决中文乱码问题的方法。 首先,我们需要理解什么是乱码。乱码通常...

    java编码转换介绍文档

    这是因为Java本身默认使用Unicode作为其内部字符编码,而操作系统或其他文件可能使用GBK、GB2312或UTF-8等不同的编码。通过转换编码,我们可以确保Java程序能够正确读取和处理这些文件。 2. 获取和使用`native2...

    Unicode和汉字互相转换工具

    3. **输出结果**:转换后的结果会以适当的形式展示给用户,可能是控制台输出,也可能是保存到文件。 `UnicodeToHZ`这个文件名可能表示工具还支持将Unicode转换为HZ编码。HZ编码是一种早期的简体中文编码,主要用于...

    JAVA编码问题[借鉴].pdf

    的UNICODE字符转换成GBK编码输出到控制台。问题很可能就出在这里,因为我们的JAVA源文件是用UTF-8编码的,...此外,理解JAVA的字符编码模型,即使用UNICODE作为内部表示,并在输入输出时进行转换,也是避免乱码的关键。

    java文件编码GBK转utf8完美解决方案

    idea、Eclipse等项目导入.java文件中文乱码完美解决方案:文件夹下所有GBK编码的.java一键转为utf-8,操作方式:将GBK2UTF8.jar文件考到需要转码项目目录,在当前位置运行控制台,输入命令java -jar GBK2UTF8.jar,...

    Java 中文乱码问题

    1. **源代码乱码**:如果你的Java源代码文件(如`.java`文件)是以非UTF-8编码保存的,而在Eclipse或IntelliJ IDEA等IDE中默认使用UTF-8打开,那么源代码中的中文字符可能会显示为乱码。解决方法是检查并确保源代码...

    JAVA编码问题[参考].pdf

    的UNICODE字符转换为GBK编码输出到控制台,如果输出的字符包含无法用GBK编码表示的UTF-8编码的中文字符,那么就会出现乱码。所以问题的关键在于,eclipse的控制台默认使用GBK编码,而JAVA源代码中的中文字符是以UTF-...

    解析Java中文乱码的处理方法

    首先,我们要了解Java中的字符编码。Java采用Unicode字符集,其内部字符串是以UTF-16编码存储的。这意味着Java可以处理世界上大部分的字符,包括中文。然而,在输入输出操作中,如文件读写、网络传输等,如果编码和...

    java中文乱码问题处理方案.docx

    综上所述,解决Java中文乱码问题需要从字符编码的原理入手,掌握不同编码之间的转换关系,并通过统一设置和规范操作来确保编码的一致性。虽然方法多样,但核心目标始终是确保Java系统能够正确、稳定地处理和显示中文...

    java中文乱码.rar

    在Java中,默认的字符编码是UTF-16,但在读取或写入文件时,如果文件的编码与Java程序中设定的编码不符,就会出现乱码。 1. 文件读写时的乱码: 当Java程序读取或写入包含中文字符的文本文件时,必须指定正确的...

    ADT中Layout Editor中文显示乱码问题

    这个问题主要涉及到字符编码设置不正确或者系统缺少支持中文的字体。 在分析这个问题之前,我们首先需要理解一点:ADT使用Eclipse IDE作为基础,而Eclipse的配置对于正确显示非ASCII字符至关重要。当XML文件中的...

    Java编程中中文问题的产生及其解决方案.pdf

    这就导致了当Java程序处理包含中文字符的字符串时,如果不正确地处理编码转换,就会出现乱码问题。 在Java编程中,中文乱码问题通常出现在以下几个阶段: 1. **源代码阶段**:开发者使用特定编码格式(如GBK)编写...

    java中文乱码终极解决方案

    但要记住,关键在于理解字符编码原理,并在每个涉及字符编码转换的地方都给予足够的关注。同时,养成良好的编码习惯,始终指定编码,而不是依赖默认值,是避免乱码问题的重要步骤。 对于更复杂的情况,例如与第三方...

    java汉字问题解决方案

    这主要涉及到字符编码的问题。本文将深入探讨Java中汉字乱码的成因,并提供一系列解决方案,帮助你彻底解决这个问题。 首先,我们需要了解汉字乱码的根源。在计算机系统中,汉字是通过特定的编码方式来表示的,例如...

Global site tag (gtag.js) - Google Analytics