Java 字符集编码

1、NioTest13_In.txt文件内容拷贝到NioTest13_Out.txt文件中
public class NioTest13 {

    public static void main(String[] args) throws  Exception {
        String inputFile = "NioTest13_In.txt";
        String outFile = "NioTest13_Out.txt";

        RandomAccessFile inputRandomAccessFile = new RandomAccessFile(inputFile,"r");

        RandomAccessFile outputRandomAccessFile = new RandomAccessFile(outFile,"rw");

        long inputLength = new File(inputFile).length();

        FileChannel inputFileChannel = inputRandomAccessFile.getChannel();
        FileChannel outputFileChannel = outputRandomAccessFile.getChannel();

        MappedByteBuffer inputData = inputFileChannel.map(FileChannel.MapMode.READ_ONLY, 0, inputLength);
        System.out.println("================================");
        /*Charset.availableCharsets().forEach( (k,v) -> {
            System.out.println(k + ", " + v);
        });*/
        System.out.println("================================");

        Charset charset = Charset.forName("iso-8859-1"); //utf-8
        CharsetDecoder decoder = charset.newDecoder(); //字节数组转字符串
        CharsetEncoder encoder = charset.newEncoder(); //字符串转字符数组

        CharBuffer charBuffer = decoder.decode(inputData);

         ByteBuffer outputData = encoder.encode(charBuffer);

        outputFileChannel.write(outputData);

        inputRandomAccessFile.close();
        outputRandomAccessFile.close();
    }
}

  

2、创建"NioTest13_In.txt文件

3、执行后生成了NioTest13_Out.txt 文件

可以知道使用: Charset charset = Charset.forName("iso-8859-1"); //utf-8

使用iso-8859-1和utf-8,中文显示都是正常的

原文地址:https://www.cnblogs.com/linlf03/p/11369291.html

时间: 2024-11-08 02:55:11

Java 字符集编码的相关文章

Java字符集编码

1.概述 在下面的描述中,将以"中文"两个字为例,经查表可以知道其GB2312编码是"d6d0 cec4",Unicode编码为"4e2d 6587",UTF编码就是"e4b8ad e69687".注意,这两个字没有iso8859-1编码,但可以用iso8859-1编码来"表示". 2.编码基础知识 最早的编码是iso8859-1,和ascii编码相似.但为了方便表示各种各样的语言,逐渐出现了很多标准编码,

java字符集编码乱码问题

博客分类: web javajspservlet 最近做网页这块时碰到了正文字符乱码问题.别看这小小的一个问题,对我来说却花费了好长一段时间.现在让我慢慢分析它吧(说实话.这些有部分是从网上找的,但都是自己亲自打出来的.这样对自己来说不仅理解了而且还加深了印象).  在java内部运算中.涉及到所有字符串都会被转化UTF-8编码来运算,然而.在被java转化之前,字符串是怎么样的字符集呢?其实java总是根据操作系统的默认编码字符集来决定字符串的初始编码的:而且java系统的输入输出都是采取操作

Java的字符集编码入门

Java中的字符集编码入门(一)Unicode与UCS的历史恩怨 ASCII及相关标准 地球人都知道ASCII就是美国标准信息交换码的缩写,也知道ASCII规定用7位二进制数字来表示英文字符,ASCII被定为国际标准之后的代号为ISO-646.由于ASCII码只使用了7个二进制位,也就是说一个字节可以表示的256个数字中,它仅使用了0~127这128个码位,剩下的128个码位便可以用来做扩展,用来表示一些特定语言所独有的字符,因此对这多余的128个码位的不同扩展,就形成了一系列ISO-8859-

Windows上.java和.class文件字符集编码关系并包括C/C++上的类同分析

[摘要]Windows系统默认采用GBK字符集,因此导致无法使用UTF-8解码.本文在首先说明Windows上使用的字符集,后分析了JAVA下.java..class.javac之间的字符集关系,以及分析了VS的C/C++项目的源文件.二进制文件与编译器间的字符集关系.最后总结:在javac的使用中,最好采用-encoding参数指明.java文件使用的字符集,以免造成不可恢复的中文乱码.[问题重现]JAVA项目中,由于源文件存储采用不同的字符集导致项目输出乱码.当采用GBK存储源文件,正常符出

浅谈java使用指定字符集编码,以及常见的字符集

问题的引入:在InputStreamReader(OutputStreamWriter)的构造方法中,有指定字符集编码,那么什么是字符集?有哪些常用的字符集?怎么用字符集进行编码? 一   什么是字符集? 字符:字符(Char)是各种文字和符号的总称,包括各国家文字.标点符号.图形符号.数字等. 字符集:字符集(Charset)是多个字符的集合,字符集种类较多,每个字符集包含的字符个数不同. 二  有哪些常用的字符集? 1.ASCII: ASCII(American Standard Code

java - 常见的字符集编码

1个字节:8位 字母,数字,符号 2个字节: 中文 常见字符集编码: AscII:美国设立的码 GB2312: 中国设立的国标码 GBK: 中国国标扩展码,添加了生僻字等. windows,eclispse一般使用这个. BIG5:繁体字(台湾地区定义的) unicode:java平台一般使用这个码 utf-8:hyml(也有用GBK的,代码开头设置),Linux,MAC(苹果),IDEA (可以自己设置)一般使用这个 IOS-8859-1 :tomcat服务器使用 IDEA的修改字符集: fi

java 乱码 字符集编码

程序经常出现乱码怎么办?下面仔细说一下 首先计算机存储的一切都是字节,只认识字节,也就是一串的二进制数字. 而字符的存储是需要先通过字符集编码转换成可存储的"二进制数字".而出现乱码的原因基本上都是在这个阶段出现的.也就是通过字符集编码转换阶段.比如:'中'字符想存储到计算机上,需要先通过XX字符编码转换然后存储到计算机上,而在其他计算机(B)上读取的时候,因为计算机内部存储的是二进制,此时B计算机从硬盘上读取到二进制数值通过YY字符编码进行转换,然后显示,此时,如果XX编码与YY编码

java字符编码详解

引用自:http://blog.csdn.net/jerry_bj/article/details/5714745 GBK.GB2312.iso-8859-1之间的区别 GB2312,由中华人民共和国政府制定的,简体汉字编码规范,大陆所有计算机中的简体中文,都使用此种编码格式.目前,我也不知道还有另外的简体汉字编码规范.与此对应的还有BIG5,是中华民国政府制定的,繁体汉字的编码规范,一般应用于海外计算机的繁体中文显示.所谓的繁体中文Windows,简体中文Windows,指的就是采用BIG5和

分享万能java字符串编码转换工具类

代码下载地址:http://www.zuidaima.com/share/1795356301560832.htm 原文:分享万能java字符串编码转换工具类 package com.zuidaima.util; import java.io.UnsupportedEncodingException; /** * 转换字符串的编码 */ public class ChangeCharset { /** 7位ASCII字符,也叫作ISO646-US.Unicode字符集的基本拉丁块 */ publ