最近遇到外采产品中,编码不统一问题,故需要对编码进行转换并统一。
手工转换代价太大,这就需要能够通过编码的形式动态探测源文件的编码类型,而后在进行统一格式转换。
在转换过程中尝试通过编码直接去BOM来识别,但由于源文件编码类型很多,且很多不为常用和未知,转换工作很棘手。
在网络上找到一篇文章,发现Apache Tika能够很好的识别源文件的编码类型,这个工具解决了团队在转码过程中的大部分问题。
下面我们引用一下文章中的用例;
1、UniversalEncodingDetector类来识别文件编码:
public static void main(String[] args) throws IOException, TikaException {
// TODO Auto-generated method stub
File file=new File("[文件路径]");
InputStream stream=null;
try
{
stream=new FileInputStream(file);
EncodingDetector detector=new UniversalEncodingDetector();
Charset charset = detector.detect(new BufferedInputStream(stream), new Metadata());
System.out.println("编码:"+charset.name());
}

在处理编码不统一的问题时,Apache Tika被用来高效地识别多种编码类型的源文件,简化了转码工作的难度。通过UniversalEncodingDetector类和ICU4J包,可以动态探测文件的编码类型。
最低0.47元/天 解锁文章
974

被折叠的 条评论
为什么被折叠?



