txt 编码判断



这里指的文本是用于Windows系统中的扩展名为.txt的文件。

Notepad(记事本)只支持四种格式:ANSI/Unicode/Unicode big endian/UFT-8,

首先,不同编码的文本,是根据文本的前两个字节来定义其编码格式的。定义如下:

ANSI:        无格式定义; 
Unicode:       前两个字节为FFFE; 
Unicode big endian: 前两字节为FEFF;  
UTF-8:        前两字节为EFBB; 


private static void judgeTxtCode(String path) throws Exception {
  FileInputStream fis = null;
  try {
   fis = new FileInputStream(path);
   int a = fis.read();
   int b = fis.read();
   if (a == 0xFF && b == 0xFE) {
    System.out.println("Unicode");
   } else if (a == 0xFE && b == 0xFF) {
    System.out.println("UTF-16BE");
   } else if (a == 0xEF && b == 0xBB) {
    System.out.println("UTF-8");
   } else {
    System.out.println("GBK");
   }
  } finally {
   if (fis != null) {
    fis.close();
   }
  }
 }




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值