文件的编码--随笔

  首先是eclipse的默认编码,点击file->properties可以看到eclipse的默认编码是GBK.

  如何获取一个字符串的编码呢?

  如:

  String str = "D1篇笔记";

  byte[] b1 = str.getBytes("gbk");

  for (byte b : b1) {

    System.out.print(Integer.toHexString(b & 0xff) + "   ");

  }  

  输出结果: 44 31 c6 aa b1 ca bc c7,其中字母和数字为一个字节表示,汉子为两个字节表示

  先将字节以16进制(int)的方式表示,我们知道,int在java中占用4个字节,所以将一个字节转化为int,前面将会补上24个0,与上一个FF转化为8位

  但是目前运用比较广泛的是utf-8,也用上面的方法获取一下编码

  

  byte[] b2 = str.getBytes("utf-8");

  for (byte b : b2) {

    System.out.print(Integer.toHexString(b & 0xff) + "   ");

  }  

  输出结果为:44 31 e7 af 87 e7 ac 94 e8 ae b0.其中字母和数字占用一个字节,汉字占用三个字节

  而在java中使用的是双字节编码 utf-16be (最低地址存放高位字节)来存储数据的,即大端存储

  如法炮制  

  byte[] b3 = str.getBytes("utf-16be");

  for (byte b : b3) {

    System.out.print(Integer.toHexString(b & 0xff) + "   ");

  } 

  输出结果为:0 44 0 31 7b c7 7b 14 8b b0 ,可以看出字母数字汉子都是占用两个字节

  所以,如果将文本编码转化为字符串时不按对应的编码方式转化的话,则会出现乱码

  使用System.out.println(new String(b3, "utf-16be);可将字节转换回去

时间: 2024-07-28 20:26:38

文件的编码--随笔的相关文章

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

分享文件转编码的插件(eclipse)

最近碰到一个编码的问题,有一个项目是用GBK编码的,由于要把项目移植到Linux,考虑到通用性,想将项目转成UTF-8编码格式的,刚开始用UE.EditPlus转,发现文件内容还是无法转移,全部是乱码,后来在网上到找一个非常好用的插件(com.lifesting.tool.encoding_1.0.0.jar),使用方法如下: 第一步 将插件com.lifesting.tool.encoding_1.0.0.jar拷贝到eclipse/plugins目录下,如果是eclipse3.5以上,请放在

用java修改文件的编码

1.将本地的文件转换成另外一种编码输出,主要逻辑代码如下: 1 /** 2 * 将本地文件以哪种编码输出 3 * @param inputfile 输入文件的路径 4 * @param outfile 输出文件的路径 5 * @param code 输出文件的编码 6 * @throws IOException 7 */ 8 public void convert(String inputfile,String outfile,String code) throws IOException {

文件乱码, 编码转换

文件乱码, 编码转换 来源: http://bbs.csdn.net/topics/390134311 查看文件编码 enca FILENAME GBK 转 UTF8 iconv -f GBK -t UTF-8 INFILE -o OUTFILE 目录名乱码 convmv -f GBK -t UTF-8 [选项] FILENAME 选项 -r 递归处理子文件夹 –notest 真正进行操作, 请注意在默认情况下是不对文件进行真实操作的, 而只是试验 –list 显示所有支持的编码 –unesca

linux下文件字符编码转换

1.查看编码 通过file命令  file filename 可以查看文件的编码 2.编码转换 通过icnov命令  iconv -f UTF-16 -t UTF-8 sourceFile -o targetFile  此命令将UTF-16格式的sorceFile转换为UTF-8的targetFile

如何改变CSV文件的编码

通常我.csv文件的编码都不是我们想要的,比如我要把他保存为Utf-8格式的,好让我可以导入数据库,不乱码 工具/原料电脑,.csv文件方法/步骤1首先,将.csv文件保存一下.然后鼠标右击打开方式记事本.2然后,以记事本的方式打开了.文件-另存为 这时弹出一个窗口,右下方,编码,这时候你就可以选择自己想要的编码格式,然后保存,就是这么简单

MediaInfo用来分析视频和音频文件的编码和内容信息的超好用工具

转载:http://blog.csdn.net/ameyume/article/details/6718705 MediaInfo简介 MediaInfo 用来分析视频和音频文件的编码和内容信息. MediaInfo 是自由软件 (免费使用.免费获得源代码,许可协议:GNU GPL/LGPL) 下载地址: windows版: http://mediainfo.sourceforge.net/zh-CN ubuntu版: http://mediainfo.sourceforge.net/zh-CN

如何在Eclipse中设置默认的JSP文件头部编码

如何在Eclipse中设置默认的JSP文件头部编码 在eclipse中新建一个jsp页面时,一般默认的编码不是utf-8,而我们一般项目都是统一采用utf-8编码,如果要一个个改很麻烦? 那么我们只能这样这么麻烦吗? 大家一般都会想到如果更改默认设置. 我之前是这样设置的: windows-----preferences-----general-----content types-----text-----jsp那里设置默认编码(操作步骤如下图所示) 可惜的是这样还是没有达到我想要的结果. 后来

文件的编码是一个怎样的机制

比如我在mac上有个f.txt文件,系统是utf-8编码其中有数据 "\xE6\x97\A5"--在utf-8编码下为汉字"日" 那么我用ultraedit将f.txt另存为以下几个文件: f1.txt文件其实际存储的内容为"\xE6\x97\A5",让ultraedit将其解释为是gb18030编码,那么在ultraedit界面显示为乱码.之后另存为gb18030编码的文件,在mac系统打开却是utf-8,显示正常的. f2.txt文件实际存储