JAVA IO ( 编码_乱码_解码 )

public class Index {
    public static void main(String[] args) {
        String s = "黄伟强";
        try {
            // 编码(编码方式 GBK:国标 UTF-8:国际通用 ISO-8859-1:美洲 默认为当前项目的编码)
            byte[] b = s.getBytes("UTF-8");
            System.out.println(Arrays.toString(b));

            // 乱码的解码方式(编码和解码使用不同的字符集)
            s = new String(b, "GBK");
            System.out.println(s);

            // 解码的正确方式(编码和解码使用同一种字符集)
            s = new String(b, "UTF-8");
            System.out.println(s);
        } catch (UnsupportedEncodingException e) {
            // 输入字符集异常
            e.printStackTrace();
        }
    }
}
时间: 2024-10-13 12:50:32

JAVA IO ( 编码_乱码_解码 )的相关文章

java io 读取文件乱码及读取不出来的问题

import java.io.BufferedReader; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; public class TestFileWriter { public static void main(String [] args) { try { FileReader out = new FileReader("d:/a.txt"); BufferedR

java(IO)读写文件乱码转换UTF-8问题

java(IO)读写文件乱码转换UTF-8问题 读取文件 String?Content?=?"";?//?文件很长的话建议使用StringBuffer try?{ FileInputStream fs=new FileInputStream("文件录取"); InputStreamReader?isr?=?new?InputStreamReader(fis,?"UTF-8"); BufferedReader?br?=?new?BufferedRe

慕课网_文件传输基础——Java IO流

fadf 第1章 文件的编码 1-1 文件的编码 (15:07) 第2章 File 类的使用 2-1 File 类常用 API 介绍 (10:50) import java.io.File; import java.io.IOException; public class FileDemo { public static void main(String[] args) { File file = new File("E:\\helloworld\\java"); System.out

java ->IO流_序列化流与反序列化流

序列化流与反序列化流 用于从流中读取对象的操作流 ObjectInputStream    称为 反序列化流 用于向流中写入对象的操作流 ObjectOutputStream   称为 序列化流(对象保存到文件中) l  特点:用于操作对象.可以将对象写入到文件中,也可以从文件中读取对象. 对象序列化流ObjectOutputStream ObjectOutputStream 将 Java 对象的基本数据类型和图形写入 OutputStream.可以使用 ObjectInputStream 读取

Java—IO流 文件的编码

文件的编码 package cn.test; import java.io.UnsupportedEncodingException; public class Demo15 { public static void main(String[] args) throws UnsupportedEncodingException { String str = "你好ABC123"; byte[] b1 = str.getBytes();//转换成字节系列用的是项目默认的编码 for (b

Java编码与乱码问题

一.为什么要编码? 由于人类的语言太多,因而表示这些语言的符号太多,无法用计算机的一个基本的存储单元----byte来表示,因而必须要经过拆分或一些翻译工作,才能让计算机能理解. byte一个字节即8个bit,所以能表示的字符范围是0~255个,这满足不了人类的需要,要解决这个矛盾必须需要一个新的数据结构char,从char到byte必须经过编码. 二.常用编码介绍 ASCII码 总共128个,用一个字节的低7位表示,0~31是控制字符,如换行.回车.删除等,32~126是打印字符,可以通过键盘

Java IO读写中文各种乱码问题 【转】

Java IO读写中文各种乱码问题 转自:http://blog.sina.com.cn/s/blog_484ab56f0101muzh.html java.io.*读写中文各种乱码,很费劲.不完全解决方法如下: 对于Reader,直接使用Reader系列读取中文会乱码,需要先生成InputStream,再通过InputStreamReader转换为Reader,同时设定编码,才能避免乱码.如 FileInputStream fis = new FileInputStream("D:/a.txt

如何判断java.io.File所读取的文件编码

如何判断java.io.File所读取的文件编码 问题 java中涉及到文件读取,就经常要考虑文件编码问题.虽然程序中一般都指定UTF-8编码,但是用户总可能提交各种编码的文件(特别是windows下用户),如果对这些文件不做判断就直接按照UTF-8的方式读取的话,是肯定会乱码的. 解决方案 java原生并不支持文件编码的判断,一般都是read文件的前几个字节来判断,需要自己编写工具类,判断的编码类型也比较少.最近找到了个开源的项目juniversalchardet,能比较优雅的完成这个任务.

java base64编码 加密和解密(切记注意乱码问题)

BASE64 编码是一种常用的字符编码,在很多地方都会用到.JDK 中提供了非常方便的 BASE64Encoder 和 BASE64Decoder,用它们可以非常方便的完成基于 BASE64 的编码和解码. 切记:下面两处编码必须一致.     获取字节流时  res = new sun.misc.BASE64Encoder().encode(s.getBytes("GBK")); 字节流转换字符串时:      return new String(b,"GBK")