判断文本文件编码的有用工具:juniversalchardet
来源:互联网 发布:2017网络流行歌曲 编辑:程序博客网 时间:2024/05/29 07:17
在java的项目中,为了对付多个平台,有时候需要判断要出来的文本文件时什么编码.
如果不知道编码的话有可能就产生乱码了.
当然有一中方法就是事先约定是什么编码.比如只能是UTF-8等,这样就稍微有一点不方便.
最近在发现了一个判断的小工具.比较好用.随便推广一下.
juniversalchardet:http://code.google.com/p/juniversalchardet/
能够识别的编码如下:
- Chinese
- ISO-2022-CN
- BIG5
- EUC-TW
- GB18030
- HZ-GB-23121
- Cyrillic
- ISO-8859-5
- KOI8-R
- WINDOWS-1251
- MACCYRILLIC
- IBM866
- IBM855
- Greek
- ISO-8859-7
- WINDOWS-1253
- Hebrew
- ISO-8859-8
- WINDOWS-1255
- Japanese
- ISO-2022-JP
- SHIFT_JIS
- EUC-JP
- Korean
- ISO-2022-KR
- EUC-KR
- Unicode
- UTF-8
- UTF-16BE / UTF-16LE
- UTF-32BE / UTF-32LE / X-ISO-10646-UCS-4-34121 / X-ISO-10646-UCS-4-21431
- Others
- WINDOWS-1252
测试代码:
public static void main(String[] args) throws IOException { // TODO Auto-generated method stub byte[] buf = new byte[4096]; //String fileName = args[0]; String fileName = "d:/test.txt"; java.io.FileInputStream fis = new java.io.FileInputStream(fileName); // (1) UniversalDetector detector = new UniversalDetector(null); // (2) int nread; while ((nread = fis.read(buf)) > 0 && !detector.isDone()) { detector.handleData(buf, 0, nread); } // (3) detector.dataEnd(); // (4) String encoding = detector.getDetectedCharset(); if (encoding != null) { System.out.println("Detected encoding = " + encoding); } else { System.out.println("No encoding detected."); } // (5) detector.reset(); String cread; StringBuffer content = new StringBuffer(); InputStreamReader r = new InputStreamReader(new FileInputStream(fileName), encoding); BufferedReader in = new BufferedReader(r); while ((cread = in.readLine()) != null) { content.append(cread); } System.out.print(content.toString()); }
- 判断文本文件编码的有用工具:juniversalchardet
- 使用juniversalchardet-1.0.3.jar判断字符或文件的编码格式
- 判断文本文件的字符集编码
- 文本文件的编码方式判断
- juniversalchardet 文本编码检测工具
- 如何判断文本文件的编码格式?
- 如何判断文本文件的编码格式?
- 一个判断文本文件编码的类.txt
- 判断一个文本文件的编码方式
- Delphi判断文本文件的编码格式
- 判断文本文件编码的C#源码
- 如何判断文本文件的编码格式?
- Delphi判断文本文件的编码格式
- 判断一个标准文本文件的编码方式
- Delphi 判断文本文件的编码格式
- 判断一个文本文件的编码格式
- 判断一个文本文件的编码格式
- 判断一个文本文件的编码格式(转)
- poll机制分析
- [转载]Apache日志格式说明
- 生成1~8位数字,随机位置
- Android平台上无线网卡自动扫描并关联AP的实现
- 新世纪研究生公共英语教材阅读A答案+课文翻译
- 判断文本文件编码的有用工具:juniversalchardet
- 副詞及接续词的归纳总结
- table隔行换色 css
- Eclipse3.4.2下tomcat配置
- ASP.NET手写AJAX
- 信息安全测试
- 与「て」「ない」「た」相关的语法
- 初级连词的类别及用法整理
- 2台mysql实现HA的架构,并同步启用replication模式