`
godsmell
  • 浏览: 10232 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

如何根据字符串来判断它属于哪个字符集?

    博客分类:
  • JAVA
阅读更多
在网络程序开发中,经常会遇到接收到一个字符串,打印出来却是乱码,如何根据这个字符串来判断它属于那一个字符集呢?这里我找到一个最笨的办法,但也可能是最有效的办法:
1、将字符串转化为字节数组;
2、把所有JAVA支持的字符集的解码器都给这个字节数组解码一遍;
3、通过打印结果,看哪个字符集解码器输出的是正常的字符,即可得到正确的判断;


	public void displayCharSet(byte[] bts) {
		Set<Entry<String, Charset>> set = Charset.availableCharsets().entrySet();
		for (Entry<String, Charset> entry : set) {
			ByteBuffer buff = ByteBuffer.allocate(bts.length);
			for (byte c : bts) {
				buff.put(c);
			}
			buff.flip();
			Charset charset = entry.getValue();
			String str = charset.decode(buff).toString();
			System.out.println(entry.getKey() + ":" + str);
		}
	}


分享到:
评论

相关推荐

    java 字符串中文判断

    至于判断字符串中是否有连续的中文字符,我们可以稍微修改上述代码,添加一个额外的条件来检查当前字符和下一个字符是否都是中文。这里是一个可能的实现: ```java public static boolean hasConsecutiveChinese...

    JavaScript代码判断输入的字符串是否含有特殊字符和表情代码实例

    3. `String.prototype.test()`方法的应用:`test()`是JavaScript字符串对象的一个方法,它使用正则表达式来测试字符串,如果正则表达式与字符串匹配,则返回`true`,否则返回`false`。在给出的代码片段中,`reg.test...

    C++实现判断一个字符串是否为UTF8或GBK格式的方法

    本文实例讲述了C++实现判断一个字符串是否为UTF8或GBK格式的方法。分享给大家供大家参考,具体如下: 在处理外部数据的时候,很可能因为数据格式不一样而导致乱码,甚至导致某些程序挂掉。鉴于对多数系统来说,使用...

    oracle中操作字符串

    本文将详细介绍如何利用Oracle内置函数来实现从含有逗号和冒号的字符串中提取特定部分的功能。 #### 1. 使用REGEXP_SUBSTR函数 `REGEXP_SUBSTR`函数是Oracle提供的一种强大的工具,用于从文本字符串中提取匹配正则...

    php根据字符串判断语言

    总的来说,PHP中根据字符串判断语言是一项挑战性的任务,尤其是对于复杂的字符集。正确选择和使用库,结合其他工具和服务,可以提高识别的准确性和范围。对于特定需求,开发者应持续关注新的技术和库,以适应不断...

    python判断回文字符串

    在Python中,判断一个字符串是否为回文非常简单,我们可以利用Python的特性来高效实现。下面将详细介绍Python判断回文字符串的方法。 1. 双指针法: 这是最基础也是最直观的方法,通过两个指针,一个从字符串开头...

    判断字符串有多少个汉字和标点符号

    根据题目描述,我们需要实现一个方法来统计字符串中汉字和标点符号的数量。具体步骤如下: 1. **定义方法 `isChinese(char c)`**:此方法用于判断单个字符是否为汉字或特定的中文标点符号。通过调用 `Character....

    汇编语言字符串比较

    在汇编语言编程中,字符串比较是一个常见的任务,它涉及到字符序列的逐个对比来确定它们是否相等或包含关系。下面将详细讲解如何在汇编语言中实现这个功能。 首先,我们需要理解汇编语言的基本概念。汇编语言是一种...

    判断字符串的类型

    在IT领域,对字符串进行类型判断是编程中的基础且重要的环节。通过判断字符串或字符的类型,程序员可以更准确地处理数据,确保程序的正确运行。以下是对几个关键字符串类型判断函数的详细介绍: ### 1. `isalnum()`...

    JAVA字符串比较、提取子串等源码小合集.rar

    还一一些比如用于比较两个变量是否引用同一个对象、equals用于比较两个字符串的内容是否相同、忽略大小写、判断是否以某个字符串开始或结束、根据字典排序比较两个字符串、删除字符串中的空格、将字符串转换成小写或...

    c++字符串处理汇总

    在C++编程语言中,字符串处理是至关重要的一个部分,涉及到很多函数和...以上是C++字符串处理的基础知识,实际编程中还会遇到更多复杂情况,如宽字符、多字节字符集、正则表达式等,这些都需要根据具体需求学习和掌握。

    Java 正则表达式判断字符串是否包含中文

    通过本文的学习,我们不仅了解了如何使用 Java 的正则表达式来判断一个字符串中是否包含中文字符,还深入了解了 Java 中正则表达式的相关 API 和基本原理。这对于从事 Java 开发的技术人员来说是非常实用且必要的...

    字符串(汉字)长度判断

    针对Oracle数据库中汉字在不通的字符集下所占字符长度不通,在保存时可能需要对源字符串的长度进行判断。 实现过程如下 /** * 针对汉字 进行计算长度 * @param string 计算的字符串 * @param ...

    用MASM32来DIY一个判断字符串1是否为字符串2的子串的函数演示代码(源码+exe)(应用repe cmpsb指令,区分大小写)

    本示例中,我们探讨的是如何使用MASM32来编写一个自定义函数,判断一个字符串(字符串1)是否为另一个字符串(字符串2)的子串,同时考虑大小写的区别。 首先,我们需要了解`repe cmpsb`指令。这是汇编语言中的一个...

    高效中英文字符串截取方法

    GB2312是一种支持简体中文的字符集,它将中文字符映射到多字节序列中。对于ASCII范围内的字符(即大部分英文字符),只需要一个字节即可表示;而中文字符则通常需要两个字节。因此,在处理中英文混合字符串时,需要...

    获取同时含有数字、大写字母、小写字母的随机字符串

    总的来说,生成并验证同时包含数字、大写字母和小写字母的随机字符串是一项基础但重要的编程技能,它在很多IT应用场景中都有所体现。通过熟练掌握这种技术,开发者可以更好地应对各种与随机数据生成相关的问题。

    一个判断字符串编码类型的类,支持多种编码

    4. 统计分析:分析字符串中不同字符集的分布,根据出现频率来推测编码类型,比如在中文文本中,GBK和UTF-8的分布可能会有所不同。 对于C++的开发者,虽然C#的代码不能直接使用,但可以通过移植或参考`...

    java中常用字符串方法总结

    `getBytes()`将字符串转换为字节数组,`new String(byte[], charset)`根据字符集将字节数组还原为字符串。 18. **判断前缀与后缀** `startsWith(String prefix)`和`endsWith(String suffix)`分别用于检查字符串...

    JavaScript截取中文字符串

    本文将详细介绍一个专门用于处理中文字符串截取的JavaScript函数,该函数能够根据字符的实际编码长度来精确控制截取的长度。 #### 二、关键概念解析 ##### 2.1 字符串截取 字符串截取是指从一个较长的字符串中...

    Pb字符串中的中文和英文(含符号)拆分

    在 PowerBuilder (PB) 开发环境中,有时我们需要处理包含中文和英文字符的字符串,并将它们分开。例如,给定的标题 "Pb字符串中的中文和英文(含符号)拆分" 描述了一个需求:将像 '中字A文C' 这样的字符串拆分为 '...

Global site tag (gtag.js) - Google Analytics