Android工具之判断文件的编码
来源:互联网 发布:惠州淘宝培训班多少钱 编辑:程序博客网 时间:2024/06/10 20:48
/** * 判断文件编码 * @param file 文件 * @return 编码:GBK,UTF-8,UTF-16LE */public String getCharset(File file) { String charset = "GBK"; byte[] first3Bytes = new byte[3]; try { boolean checked = false; BufferedInputStream bis = new BufferedInputStream( new FileInputStream(file)); bis.mark(0); int read = bis.read(first3Bytes, 0, 3); if (read == -1) return charset; if (first3Bytes[0] == (byte) 0xFF && first3Bytes[1] == (byte) 0xFE) { charset = "UTF-16LE"; checked = true; } else if (first3Bytes[0] == (byte) 0xFE && first3Bytes[1] == (byte) 0xFF) { charset = "UTF-16BE"; checked = true; } else if (first3Bytes[0] == (byte) 0xEF && first3Bytes[1] == (byte) 0xBB && first3Bytes[2] == (byte) 0xBF) { charset = "UTF-8"; checked = true; } bis.reset(); if (!checked) { int loc = 0; while ((read = bis.read()) != -1) { loc++; if (read >= 0xF0) break; if (0x80 <= read && read <= 0xBF) break; if (0xC0 <= read && read <= 0xDF) { read = bis.read(); if (0x80 <= read && read <= 0xBF) continue; else break; } else if (0xE0 <= read && read <= 0xEF) { read = bis.read(); if (0x80 <= read && read <= 0xBF) { read = bis.read(); if (0x80 <= read && read <= 0xBF) { charset = "UTF-8"; break; } else break; } else break; } } } bis.close(); } catch (Exception e) { e.printStackTrace(); } return charset;}
阅读全文
0 0
- Android工具之判断文件的编码
- 判断文件编码的第三方工具
- 判断文件的编码
- 判断文件的编码
- Java判断文件编码工具类
- 判断Unicode编码的文件
- Java:判断文件的编码
- java判断文件的编码
- 判断文件的编码格式
- 判断文件的编码格式
- 判断文件的编码方式
- 判断文本文件编码的有用工具:juniversalchardet
- android开发之网络判断的工具类
- Android编码文件操作相关工具类
- 利用java判断文件的编码方法
- Java判断文件的编码类型。
- Java 判断文件的字符集编码
- 如何判断文件的编码方式
- 我是标题
- java虚拟机(五)--内存分配回收策略
- Tomcat 集群配置2
- curl 命令简介
- js--打卡--12.05 arguments
- Android工具之判断文件的编码
- 沉浸式状态栏
- Android学习笔记之线程与消息处理
- Oracle 状告 Google 侵犯专利
- RabbitMQ学习(二)
- JDK8新特性:接口的静态方法和默认方法
- MSF学习笔记(6)
- ubunut下配置mysql多实例(多个端口启动)
- 显著减少项目gradle编译时间