- 浏览: 1579769 次
- 性别:
- 来自: 厦门
文章分类
- 全部博客 (603)
- T_java (145)
- T_script&ASP (51)
- T_C/C++ (25)
- T_PowerBuilder (11)
- T_Database (53)
- T_odoo (7)
- T_应用服务器 (50)
- T_专_条形码 (6)
- T_专_负载均衡器 (4)
- T_操作系统 (94)
- T_信息安全 (41)
- T_专_搜索引擎 (14)
- T_L_PHP (58)
- T_L_Delphi (18)
- T_L_.NET、C#、VisualStudio (25)
- T_L_Objective-C (6)
- T_移动开发 (53)
- T_网络 (109)
- T_大数据 (2)
- T_嵌入式 (2)
- T_小众技术 (24)
- T_未分类 (58)
- L_旅游印记 (1)
- L_生活随笔 (48)
- L_中国文化 (18)
- L_户外与生存 (0)
最新评论
-
csbean4004:
不知道哪传来得恶习,发帖子不好好发,故意弄错一些东西,很讨厌
让HTML5支持后置摄像头 -
withthewind:
终于找到一个可以用的了。。。
如何用VBA取得Word文档中的标题前面的序号 -
busbby:
兄弟,无法下载,说文件不完整
一个好用的Outlook ost格式文件转pst文件的工具 -
yijavakevin:
密码啊~解压密码多少?
一个二维条形码组件 -
vipbooks:
你给的那个链接根本无法下载,跳到官网看了下最新版12M,但点下 ...
十步以内完成精细web打印
自动检测文本的字符集
(Java port of Mozilla charset detector 工具的使用方法)
Java port of Mozilla charset detector是Mozilla组织开发的用于浏览器自动识别网页字符集的工具的一个JAVA实现。Mozilla有关该工具的地址是:http://www.mozilla.org/projects/intl/chardet.html 。
本JAVA实现版本的地址是:http://sourceforge.net/projects/jchardet/ 。
在JAVA系统开发中,经常遇到字符集的问题(其实不是JAVA的问题,而是软件行业的历史遗留问题),在时候不知道文本内容的编码方式,在处理的时候出现一些意想不到的问题,通过使用此工具,虽不能百分百准确检测字符集,但还可将就用用。此工具检测效率不是很高,使用后对系统性能会有一点影响,对性能要求很高的系统谨慎使用。
下面是如何使用此工具的一个简单说明:
第一步:
在需要检测字符集的类实现接口nsICharsetDetectionObserver,需要实现其中的一个方法:Notify()。该方法会在检测结束的时候被调用并返回检测的字符集(不论对错)。
接口代码如下:
package org.mozilla.intl.chardet ; import java.lang.* ; public interface nsICharsetDetectionObserver { public void Notify(String charset) ; }
第二步:
初始化nsDetector类,然后对字符串流进行检测,如果检测到有非ASCII的字符,则调用nsDetector的DoIt()方法进行检测。
第三步:
当字符串流处理结果后,调用nsDetector的DataEnd()方法,检测引擎会向调用者返回检测到的字符集。下面是一个调用该工具检测指定URL的页面编码方式的例子:
package org.mozilla.intl.chardet ; import java.io.* ; import java.net.* ; import java.util.* ; import org.mozilla.intl.chardet.* ; public class HtmlCharsetDetector { public static boolean found = false ; public static void main(String argv[]) throws Exception { if (argv.length != 1 && argv.length != 2) { System.out.println("Usage: HtmlCharsetDetector <url> [<languageHint>]"); System.out.println(""); System.out.println("Where <url> is http://..."); System.out.println("For optional <languageHint>. Use following..."); System.out.println(" 1 => Japanese"); System.out.println(" 2 => Chinese"); System.out.println(" 3 => Simplified Chinese"); System.out.println(" 4 => Traditional Chinese"); System.out.println(" 5 => Korean"); System.out.println(" 6 => Dont know (default)"); return ; } //初始化nsDetector() ; int lang = (argv.length == 2)? Integer.parseInt(argv[1]) : nsPSMDetector.ALL ; nsDetector det = new nsDetector(lang) ; //设置观察者... //如果检测出了字符集,则会调用Notify()方法. det.Init(new nsICharsetDetectionObserver() { public void Notify(String charset) { HtmlCharsetDetector.found = true ; System.out.println("CHARSET = " + charset); } }); URL url = new URL(argv[0]); BufferedInputStream imp = new BufferedInputStream(url.openStream()); byte[] buf = new byte[1024] ; int len; boolean done = false ; boolean isAscii = true ; while( (len=imp.read(buf,0,buf.length)) != -1) { //检测字符串流中是否只包含ASCII if (isAscii) isAscii = det.isAscii(buf,len); //如果包含非ASCII字符,则调用DoIt()方法进行检测 if (!isAscii && !done) done = det.DoIt(buf,len, false); } det.DataEnd(); if (isAscii) { System.out.println("CHARSET = ASCII"); found = true ; } if (!found) { String prob[] = det.getProbableCharsets() ; for(int i=0; i<prob.length; i++) { System.out.println("Probable Charset = " + prob[i]); } } } }
下面是检测文本文件字符编码的例子,跟检测URL的差不多,只改了输入流获取方式:
package com.iteye.sheng.util.tools; import java.io.* ; import java.net.* ; import java.util.* ; import org.mozilla.intl.chardet.* ; public class FileCharsetDetector { public static boolean found = false ; public static void main(String argv[]) throws Exception { if (argv.length != 1 && argv.length != 2) { System.out.println("Usage: FileCharsetDetector <file> [<languageHint>]"); System.out.println(""); System.out.println("Where <file> is C:/xxxxx.txt"); System.out.println("For optional <languageHint>. Use following..."); System.out.println(" 1 => Japanese"); System.out.println(" 2 => Chinese"); System.out.println(" 3 => Simplified Chinese"); System.out.println(" 4 => Traditional Chinese"); System.out.println(" 5 => Korean"); System.out.println(" 6 => Dont know (default)"); return ; } //初始化nsDetector() ; int lang = (argv.length == 2)? Integer.parseInt(argv[1]) : nsPSMDetector.ALL ; nsDetector det = new nsDetector(lang) ; //设置观察者... //如果检测出了字符集,则会调用Notify()方法. det.Init(new nsICharsetDetectionObserver() { public void Notify(String charset) { FileCharsetDetector.found = true ; System.out.println("CHARSET = " + charset); } }); String filename = argv[0]; BufferedInputStream imp = new BufferedInputStream(new FileInputStream(filename)); byte[] buf = new byte[1024] ; int len; boolean done = false ; boolean isAscii = true ; while( (len=imp.read(buf,0,buf.length)) != -1) { //检测字符串流中是否只包含ASCII if (isAscii) isAscii = det.isAscii(buf,len); //如果包含非ASCII字符,则调用DoIt()方法进行检测 if (!isAscii && !done) done = det.DoIt(buf,len, false); } det.DataEnd(); if (isAscii) { System.out.println("CHARSET = ASCII"); found = true ; } if (!found) { String prob[] = det.getProbableCharsets() ; for(int i=0; i<prob.length; i++) { System.out.println("Probable Charset = " + prob[i]); } } } }
- jchardet-1.1.zip (80.8 KB)
- 下载次数: 27
- FCD.jar (3.1 KB)
- 下载次数: 18
发表评论
-
SpringBoot Fat Jar解压运行
2018-06-28 21:40 2186SpringBoot已经成为当前最流行的微服务 ... -
一句话实现五星评分显示
2018-06-05 08:31 948Python: rate = 1 #rate 取值 ... -
来算google的可视化编程工具——Blockly,不仅仅是玩具
2017-10-16 21:34 32758Blockly - 来自Google的可 ... -
安卓动态分析工具 Inspeckage
2017-08-07 08:46 0工具介绍 一个基于Xposed 开发的应用动态分析工具 g ... -
Android逆向之旅---静态方式破解微信获取聊天记录和通讯录信息
2017-08-07 08:37 0一、猜想数据存放路径 微信现在是老少皆宜,大街小巷都在使用 ... -
破解微信数据库 并查询数据上传服务器
2017-08-07 08:29 0由于工作需求破解了微信的数据库 并获取想要的信息上传服 ... -
安卓黑科技之HOOK详解
2017-08-07 08:21 0本文带大家进入到安卓另一个世界 互联网攻防大战 Xpos ... -
安卓逆向之基于Xposed-ZjDroid脱壳
2017-08-07 08:18 0前言 之前介绍了普通常见的反编译模式 但对于使用了 360 ... -
十步以内完成精细web打印
2017-06-21 11:44 7293注意: 康虎云报表组 ... -
浏览器端精准打印或套打组件
2017-01-18 13:05 6642注意: 康虎云报表 ... -
疯狂软件对Oracle放弃Java EE的看法
2016-08-14 22:38 480来源:http://javaligang ... -
几个Java相关的思维导图
2016-03-17 13:07 915来源:http://blog.csdn.net/jackf ... -
jasperReport Applet 打印
2016-02-01 16:33 827Applet方式的原理是本地下载Applet以及Jas ... -
为Java说句公道话
2016-01-24 10:59 674为Java说句公道话 有些 ... -
Mybatis Generator配置详解(中文)_转
2015-12-17 16:44 870来自: http://www.jianshu.com/p/e ... -
一个提供大量数据模型的网站
2015-12-17 14:00 896网站地址是:http://www.databaseansw ... -
采用ajp代理模式配置Apache+tomcat实现负载均衡(转)
2015-11-13 10:22 815这一种方法,配置简单,性能也高。附AJP介绍: AJP ... -
MyBatis配置文件修改侦测及重载的实现
2015-07-31 13:53 2282MyBatis配置文件修改侦测及重载的实现: /** ... -
Spring optional @PathVariable?
2015-07-09 13:13 868Q: Is it possible to somehow ... -
The forked VM terminated without saying properly goodbye. VM crash or System.exi
2015-07-07 18:22 4010The forked VM terminated witho ...
相关推荐
UnicodeCharsetDetector 文本文件Unicode字符集检测器:带或不带BOM的UTF-7,UTF-8,UTF-16,UTF-32。
Java自动识别文件字符编码工具类 参考博客 https://blog.csdn.net/superbeyone/article/details/103036914 使用方式: String encode = EncodingDetect.getFileEncode(geoJsonFile); log.info("系统检测到文件[ {}...
special_auto.py :自动生成具有所有特殊字符的数据集。 python3 special_auto.py create_lmdb_dataset.py :从生成的图像+ label.txt文件生成Lmdb文件。 *将图像文件夹+ label.txt放入数据/ * python3 create_...
在本文中,我们提出了一种新颖的方法来增强智能电话相机在室外和室内以及在各种光照条件下捕获的公共招牌的OCR... 此外,我们建议使用一种方法来自动将ROI(感兴趣区域)分配给检测到的招牌,以更好地识别文本信息。
输出一个无符号字符数的十进制表示,必须标示小数点的位置,自动删除前面无用的零 //putint(uint ui,uchar j);输出一个无符号整型数的十进制表示,必须标示小数点的位置,自动删除前面无用的零 //delay(unsigned char ...
设置文本自动显示为大写,小写,上限,标题大小等。 在游戏动态翻译 Easy API在运行时翻译聊天消息和其他动态文本 应用程序名称和商店本地化 翻译游戏名称所有语言,并在Android / IOS商店中显示您的游戏支持哪些...
✓自动检测字符集和编码。 ✓自动缩进新行。 ✓各种字体和大小。 ✓预览HTML,CSS和降价文件。 ✓打开最近打开或添加的文件集合中的文件。 ✓能够在有根设备上编辑系统文件。 ✓从FTP,Google Drive,Dropbox和One...
参考自然场景下的文本检测方法和车牌中的字符分布特点,对车牌候选区域提取改进的最大稳定极值区域,通过使用非极大值抑制和区域校正得到字符候选人,通过字符判断分类器和字符搜索,实现非车牌区域的滤除和车牌区域...
支持多种字符集之间的转换,能够正确的转换CLOB、NCLOB、NVARCHAR2列类型的数据到指定的字符集。 自动检测数据文件的表空间号和文件号 导出的数据格式包括纯文本和DMP文件两种。以纯文本导出时,能够自动生成建表...
支持多种字符集之间的转换,能够正确的转换CLOB、NCLOB、NVARCHAR2列类型的数据到指定的字符集。 ODU全面支持64位系统,支持超过4G大小的数据文件。 支持复制操作系统命令不能复制的坏文件 模拟oracle的dump块...
2、限制输入文本长度,输入字符集; 3、当设置为整型模式、浮点模式或金额模式时,限制输入最大最小值,限制输入非法数字; 4、已兼容中文输入法,并匹配最大长度; 5、已对复制粘贴来的文字进行了长度、输入字符...
用于自动检测给定文本或文件的字符集的库。 将分析输入缓冲区以猜测使用的编码。 结果(字符集名称或代码页ID)可以用作字符集对话的控制参数。 使您的程序知道Unicode!
cz2cz 是用于在各种编码字符集(ISO-8859-2、Win-1250、UTF-8...)之间转换文本文件的软件。 主要功能是自动检测文本文件中使用的字符集。 仅限捷克语(仅对 cz 用户有用)。
- **自然语言处理**:如文本分类、情感分析、词性标注等,尽管这些任务通常结合其他类型的网络结构(如循环神经网络)。 ### **7. 发展与演变** CNN的概念起源于20世纪80年代,但其影响力在硬件加速(如GPU)和大...
JSON自动美化(页面自动检测并格式化) JSON手动美化(粘贴文本、手动格式化) JSON比对工具(支持左右两个JSON片段进行键值对比较) 字符串编解码(Unicode/UTF8/Base64/MD5) 代码美化工具...
子程序 快速寻找文件, 文本型, 公开, 成功返回(文件全路径),失败返回(空文本) .参数 欲寻找的文件路径, 文本型, , 如:C:\WINDOWS\system32 或 C:\ .参数 欲寻找的文件名, 文本型, , 如:1.exe , 2.dll.....等,...
该项目是TabTextFinder(http://sourceforge.jp/projects/tabtextfinder/simple/)的一个副本,专用于具有自动编码检测功能的日语字符集。 此克隆忽略自动编码检测,并且默认情况下使用默认编码。
CPU占用率检测模块(1.0).zip ceshi (1.0).zip 磁盘相关(1.0).zip 创建快捷方式模块2.2(1.0).zip 创建任意目录 1.0.0.2(1.0).zip 常用模块(1.0).zip 窗口整容师(1.1).zip 窗口整容师(1.0).zip 传世私服注册(1.0).zip ...