RandomAccessFile 的默认编码为ISO-8859-1

原创 2012年03月31日 00:41:18

private String getEncodeType(RandomAccessFile randomFile) {
		String encodeType = "utf-8";
		
		if(randomFile == null) {
			return encodeType;
		}
		
		try {
			randomFile.seek(1l);
			
			byte[] first3bytes = new byte[3];
			randomFile.read(first3bytes);
			
			if(first3bytes[0] == (byte) 0xEF && first3bytes[1] == (byte) 0xBB
                    && first3bytes[2] == (byte) 0xBF) {
				encodeType = "utf-8";
			}
			else if(first3bytes[0] == (byte) 0xFF
                    && first3bytes[1] == (byte) 0xFE) {
				encodeType = "unicode";
			}
			 else if (first3bytes[0] == (byte) 0xFE
                     && first3bytes[1] == (byte) 0xFF) {
				 encodeType = "utf-16be";
			 }
			 else if (first3bytes[0] == (byte) 0xFF
                     && first3bytes[1] == (byte) 0xFF) {
				 encodeType = "utf-16le";
			 }
			 else {
                 encodeType = "gbk";
			 }
			
			randomFile.seek(0);
		} catch (IOException e) {
			e.printStackTrace();
		}
		
		return encodeType;
	}

RandomAccessFile 的默认编码为ISO-8859-1,出现中文乱码需要如此

readStr.getBytes("ISO-8859-1"), encode);

encode为你所读文件的编码格式,获取方法

有错请指正



RandomAccessFile写入时中文乱码解决方案

RandomAccessFile写入时中文乱码解决方案

文件编码和RandomAccessFile文件流的使用--IO学习笔记(一)

文件编码UTF-8编码:中文占用3个字节,英文占用1个字节 GBK编码:中文占用2个字节,英文占用1个字节 UTF-16BE编码:中文占用2个字节,英文占用两个字节注意:其中UTF-16BE编码是...

修改sts的默认编码格式,将iso-8859-1 修改为utf-8

1.刚安装好的sts新建jsp时 默认编码格式如下   2.在sts的菜单栏 点击window-preferences-web,如下图,将Encoding中选中utf-8编码格式   3.修改默认的编...

spring boot 使用fastjson 处理json数据中文乱码 默认使用 ISO-8859-1编码格式

1、加入fastjson maven 依赖包 com.alibaba fastjson 1.2.30 ...

查看和设置MySQL数据库字符集(转) (默认情况下,mysql的字符集是latin1(ISO_8859_1)(注:MySQL5.6不能用此方法修改字符编码)

通过MySQL命令行查看、修改: mysql> show variables like 'character_set_%';   或 mysql> SHOW VARIABLES LIKE '...

常见编码GBK、GB2312、UTF-8、ISO-8859-1的区别

在项目开发中,会经常遇到不同的编码方式。不管什么编码,都是信息在计算机中的一种表现,理解常见的编码方式,有助于我们避免出现乱码等现象。 最初的计算机字符编码是通过ASCII来编码的,是现今最通用的单...

GBK,UTF-8,和ISO8859-1之间的编码与解码

Unicode、UTF-8 和 ISO8859-1到底有什么区别 将以"中文"两个字为例,经查表可以知道其GB2312编码是"d6d0 cec4",Unicode编码为"4e2d 6587",UTF...

编码解码!(UTF-8,iso8859-1,gbk)

/* 编码:字符串变成字节数组 String---->byte[]: str.getBytes(charsetName); byte[]---->String new String(byte...

aptana studio 乱码 问题 即编码 ISO-8859-1 与 UTF-8

aptana studio 乱码 问题 即编码 ISO-8859-1 与 UTF-8 从http://aptana.com/products/studio3 下载 Aptana Studio 3.0...

字符集与编码八之ASCII和ISO-8859-1

在前面其实也谈到了ASCII了,但并没有很具体,作为一个完整系列的一部分,还是有必要谈一下,也作为后面讨论的一些基础。 ASCII 它的全称是American Standard Code ...
  • WZD2012
  • WZD2012
  • 2017年04月19日 10:07
  • 273
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:RandomAccessFile 的默认编码为ISO-8859-1
举报原因:
原因补充:

(最多只允许输入30个字)