Google开源Java字符编码检测工具介绍

人工智能2025-11-05 08:10:297812

背景

产品经理要求上传文件到服务器,开源但是字符文件没有模板,文件的编码编码格式不定,因此不能通过指定的检测介绍编码格式解析文件,否则会出现乱码。工具

文件编码识别

(1)UTF-8 BOM编码的开源文件,前3个字节转换成10进制数后分别是字符:-17、-69、编码-65。检测介绍

(2)UTF-16BE BOM编码的工具文件,前2个字节转换成10进制数后分别是开源:-2、-1。字符

(3)UTF-16LE BOM编码的编码文件,前2个字节转换成10进制数后分别是检测介绍:-1、b2b信息网-2。工具

因此,这三种编码格式的文件检测起来比较简单,只需要拿到文件的前三个字节,然后根据上面的规则就可以确定文件是什么编码。问题是这种检测方式只能区分UTF-8 BOM、UTF-16BE BOM和UTF-16LE BOM编码的文件,不能区分UTF-8和GBK编码的文件。

Google字符编码检测工具

需要引入Maven依赖,Maven坐标如下:

<dependency>     <groupId>         com.googlecode.juniversalchardet    </groupId>     <artifactId>juniversalchardet</artifactId>     <version>1.0.3</version> </dependency> 

Google字符编码检测工具Java代码示例,目前来看检查UTF-8和GBK编码没有问题,但是其它编码存在问题,由于上传的文件只有中文和英文,源码库因此稍微做了点兼容性处理,当编码获取错误时,默认取GBK编码。编码检测工具在生产环境运行了一段时间,目前来看没发现什么问题。

总结

由于上传的文件只有中文和英文,在生产环境运行了一段时间,目前来看是满足要求的。比如Google的字符编码检测工具会返回WINDOWS-1252这样的编码格式,这种默认用GBK编码就可以。还有一些检测不出来的编码格式,返回null,这种也用默认的GBK就行。

本文地址:http://www.bhae.cn/html/068f21399718.html
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

全站热门

用卡纸打造立体电脑(DIY卡纸立体电脑的简易教程)

联想乐檬3(体验极致游戏表现,畅享游戏世界)

诺基亚BH121无线耳机使用体验(便携舒适、音质优异,让音乐无处不在)

探索台电X30SE的卓越性能和全面体验(解析台电X30SE的创新科技与出色设计)

飞利浦MP3SA0283音质如何?(揭秘飞利浦MP3SA0283的音质表现及特点)

以耕升GTX1060G魂怎么样?性能解析与用户体验(一款强悍的显卡,满足你的游戏和创作需求)

未开通借呗将面临哪些困扰?(解读不开通借呗的影响及解决方案)

手机中了病毒,后果会如何?(揭示手机病毒的危害,保护你的隐私安全)

友情链接

滇ICP备2023000592号-9