Java 编码 UTF-8

最近在处理文件时发现了同样类型的文件使用的编码可能是不同的。所以想将文件的格式统一一下(因为UTF-8的通用性,决定往UTF-8统一),遇见的第一个问题是:如何查看现有文件的编码方式。

文件编码问题集锦

字符串编码(charset,encoding,decoding)问题原理

Java编码浅析

判定文件编码或文本流编码的方法

上面的几篇文章可以看成认识编码问题的“从入门到精通”

如果你看完了上面的文章,一定了解到了,在java中,class文件采用utf8的编码方式,JVM运行时采用utf16。Java的字符串是永远都是unicode的,采用的是UTF-16的编码方式。

想测试一下,java对UTF-8文件的读写的能力,结果发现了一个很郁闷的问题,如果通过java写的UTF-8文件,使用Java可以正确的读,但是如果用记事本将相同的内容使用UTF-8格式保存,则在使用程序读取是会从文件中多读出一个不可见字符。

此处有详细描述问题的原因,以及解决方案:

http://www.cnblogs.com/luoyanli/archive/2013/04/12/3016139.html

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-22 00:15:58

Java 编码 UTF-8的相关文章

【JAVA编码专题】总结

第一部分:编码基础 为什么需要编码:用计算机看得懂的语言(二进制数)表示各种各样的字符. 一.基本概念 ASCII.Unicode.big5.GBK等为字符集,它们只定义了这个字符集内有哪些字符,以及分别用什么数字表示. 而UTF-8与UTF-16则定义了Unicode字符集如何使用计算机看得懂的语言进行传输和保存. 例如: Unicode 字符 U+00A9 = 1010 1001 (版权符号) 在 UTF-8 里的编码为: 11000010 10101001 = 0xC2 0xA9 事实上,

Java 编码 字符集

Java 编码 字符集 @author ixenos 1.   字符集 a)    字符集建立了两字节Unicode码元序列与使用本地字符编码方式的字节序列之间的映射. b)    为了兼容其它命名,每个字符集都有许多别名,Charset对象的aliases方法可以返回由别名构成的Set对象 i.          Set<String> aliases = charset.aliases(); ii.          for(String alias : aliases){…} iii. 

java编码规范

右括号") "与其后面的关键字之间,关键字与其后面的左括号"("或"{"之间,以及"}"与"{"之间,要以一个空格隔开:除". "外,所有二元操作符的前.后要加空格:在逗号后边加一个空格. 说明: 一个紧跟着括号的关键词应该被空格分开: 空白应该位于参数列表中逗号的后面: 所有的二元运算符,除了".",应该使用空格将之与操作数分开.一元操作符和操作数之间不应该加空格,

阿里Java编码规范

详细,全面 很不错 阿里 Java编码规范

java编码问题

工作中经常遇到java编码问题,由于缺乏研究,总是无法给出确切的答案,这个周末在网上查了一些资料,在此做些汇总. 问题一:在java中读取文件时应该采用什么编码? Java读取文件的方式总体可以分为两类:按字节读取和按字符读取.按字节读取就是采用InputStream.read()方法来读取字节,然后保存到一个byte[]数组中,最后经常用new String(byte[]);把字节数组转换成String.在最后一步隐藏了一个编码的细节,new String(byte[]);会使用操作系统默认的

Java编码问题汇总

转自 http://www.blogjava.net/zhangchao/archive/2011/05/26/351051.html Thanks Java编码问题汇总 工作中经常遇到java编码问题,由于缺乏研究,总是无法给出确切的答案,这个周末在网上查了一些资料,在此做些汇总. 问题一:在java中读取文件时应该采用什么编码? Java读取文件的方式总体可以分为两类:按字节读取和按字符读取.按字节读取就是采用InputStream.read()方法来读取字节,然后保存到一个byte[]数组

Java编码

转自:http://www.blogjava.net/zhangchao/archive/2011/05/26/351051.html Thanks Java编码问题汇总 工作中经常遇到java编码问题,由于缺乏研究,总是无法给出确切的答案,这个周末在网上查了一些资料,在此做些汇总. 问题一:在java中读取文件时应该采用什么编码? Java读取文件的方式总体可以分为两类:按字节读取和按字符读取.按字节读取就是采用InputStream.read()方法来读取字节,然后保存到一个byte[]数组

关于Java编码

ASCII:用7位编码将英文字符和一些常用的符号存诸为从0到127的数值. Unicode:Unicode用一个2字节数字表示每个字符,从0到65535.每个 2 字节数字表示至少在一种世界语言中使用的一个唯一字符.(在多种语言中都使用的字符具有相同的数字码.)这样就确保每个字符一个数字,并且每个数字一个字符.Unicode数据永远不会模棱两可.Unicode使用相同的数字表示ASCII和ISO-8859-1中的字符.只是这两种编码用一个字节表示,而Unicode用两个字节表示.所以Unicod

Java编码 蛇形矩阵的构建与遍历输出

一.蛇形矩阵的构建,并按行输出 例: 输入:n, 生成n*n的蛇形矩阵 1 2 3 8 9 4 7 6 5 输出:1 2 3 8 9 4 7 6 5 java编码 public static void main(String[] args) { // TODO Auto-generated method stub Scanner in = new Scanner(System.in); int n = in.nextInt(); if(n < 0) return; if(n == 1){ Sys

个人整理--Java编码规范

编码规范对于开发人员来说是非常重要的,有以下几个原因: 1.一个软件的生命周期中,80%的花费在于维护 2.几乎没有任何一个软件,在其整个生命周期中,均由最初的开发人员来维护 3.编码规范可以改善软件的可读性,可以让程序员尽快而彻底地理解新的代码 4.如果你将源码作为产品发布,就需要确任它是否被很好的打包并且清晰无误,一如你已构建的其它任何产品 5.为来自不同的项目组或个人提供标准的代码格式. 6.增加易读性. 在不用Java两年多后因工作需要我又要转入Java开发,为此我整理出下面的编码规范,