自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Google開源Java字符編碼檢測(cè)工具介紹

新聞 開發(fā)工具
產(chǎn)品經(jīng)理要求上傳文件到服務(wù)器,但是文件沒有模板,文件的編碼格式不定,因此不能通過指定的編碼格式解析文件,否則會(huì)出現(xiàn)亂碼。

背景

產(chǎn)品經(jīng)理要求上傳文件到服務(wù)器,但是文件沒有模板,文件的編碼格式不定,因此不能通過指定的編碼格式解析文件,否則會(huì)出現(xiàn)亂碼。

文件編碼識(shí)別

(1)UTF-8 BOM編碼的文件,前3個(gè)字節(jié)轉(zhuǎn)換成10進(jìn)制數(shù)后分別是:-17、-69、-65。

(2)UTF-16BE BOM編碼的文件,前2個(gè)字節(jié)轉(zhuǎn)換成10進(jìn)制數(shù)后分別是:-2、-1。

(3)UTF-16LE BOM編碼的文件,前2個(gè)字節(jié)轉(zhuǎn)換成10進(jìn)制數(shù)后分別是:-1、-2。

因此,這三種編碼格式的文件檢測(cè)起來比較簡(jiǎn)單,只需要拿到文件的前三個(gè)字節(jié),然后根據(jù)上面的規(guī)則就可以確定文件是什么編碼。問題是這種檢測(cè)方式只能區(qū)分UTF-8 BOM、UTF-16BE BOM和UTF-16LE BOM編碼的文件,不能區(qū)分UTF-8和GBK編碼的文件。

Google開源Java字符編碼檢測(cè)工具介紹

Google字符編碼檢測(cè)工具

需要引入Maven依賴,Maven坐標(biāo)如下:

  1. <dependency> 
  2.     <groupId> 
  3.         com.googlecode.juniversalchardet    </groupId> 
  4.     <artifactId>juniversalchardet</artifactId> 
  5.     <version>1.0.3</version> 
  6. </dependency> 

Google字符編碼檢測(cè)工具Java代碼示例,目前來看檢查UTF-8和GBK編碼沒有問題,但是其它編碼存在問題,由于上傳的文件只有中文和英文,因此稍微做了點(diǎn)兼容性處理,當(dāng)編碼獲取錯(cuò)誤時(shí),默認(rèn)取GBK編碼。編碼檢測(cè)工具在生產(chǎn)環(huán)境運(yùn)行了一段時(shí)間,目前來看沒發(fā)現(xiàn)什么問題。

Google開源Java字符編碼檢測(cè)工具介紹

總結(jié)

由于上傳的文件只有中文和英文,在生產(chǎn)環(huán)境運(yùn)行了一段時(shí)間,目前來看是滿足要求的。比如Google的字符編碼檢測(cè)工具會(huì)返回WINDOWS-1252這樣的編碼格式,這種默認(rèn)用GBK編碼就可以。還有一些檢測(cè)不出來的編碼格式,返回null,這種也用默認(rèn)的GBK就行。

 

責(zé)任編輯:張燕妮 來源: 今日頭條
相關(guān)推薦

2014-04-15 17:03:00

2010-06-04 09:59:37

Linux 性能檢測(cè)

2014-06-06 10:01:31

2015-10-30 14:33:44

2022-03-25 14:11:11

Java死鎖線程

2021-10-19 15:01:26

API檢測(cè)工具網(wǎng)絡(luò)安全

2021-06-28 10:40:33

WhyNotWin11開源Windows 11

2018-11-01 08:40:48

入侵檢測(cè)系統(tǒng)IDS網(wǎng)絡(luò)安全

2021-12-13 16:16:42

Java開發(fā)工具

2015-03-13 09:10:29

2021-04-14 08:20:46

Lighthouse工具性能檢測(cè)

2010-06-04 10:09:29

Linux 性能檢測(cè)

2010-06-04 10:30:15

Linux 性能檢測(cè)

2011-01-11 13:58:32

WebLog ExpeWEB服務(wù)器流量記錄

2023-05-12 13:20:07

ChatGPTAIGC檢測(cè)工具

2021-10-22 09:40:59

開源技術(shù) 工具

2021-07-01 05:17:52

Windows 11操作系統(tǒng)微軟

2015-09-28 18:05:52

安全審計(jì)入侵檢測(cè)Tiger–UNIX

2015-10-30 14:46:50

2009-06-03 14:15:34

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)