在网络程序开发中,经常会遇到接收到一个字符串,打印出来却是乱码,如何根据这个字符串来判断它属于那一个字符集呢?这里我找到一个最笨的办法,但也可能是最有效的办法:
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 public static boolean hasConsecutiveChinese...
3. `String.prototype.test()`方法的应用:`test()`是JavaScript字符串对象的一个方法,它使用正则表达式来测试字符串,如果正则表达式与字符串匹配,则返回`true`,否则返回`false`。在给出的代码片段中,`reg.test...
本文实例讲述了C++实现判断一个字符串是否为UTF8或GBK格式的方法。分享给大家供大家参考,具体如下: 在处理外部数据的时候,很可能因为数据格式不一样而导致乱码,甚至导致某些程序挂掉。鉴于对多数系统来说,使用...
本文将详细介绍如何利用Oracle内置函数来实现从含有逗号和冒号的字符串中提取特定部分的功能。 #### 1. 使用REGEXP_SUBSTR函数 `REGEXP_SUBSTR`函数是Oracle提供的一种强大的工具,用于从文本字符串中提取匹配正则...
总的来说,PHP中根据字符串判断语言是一项挑战性的任务,尤其是对于复杂的字符集。正确选择和使用库,结合其他工具和服务,可以提高识别的准确性和范围。对于特定需求,开发者应持续关注新的技术和库,以适应不断...
在Python中,判断一个字符串是否为回文非常简单,我们可以利用Python的特性来高效实现。下面将详细介绍Python判断回文字符串的方法。 1. 双指针法: 这是最基础也是最直观的方法,通过两个指针,一个从字符串开头...
根据题目描述,我们需要实现一个方法来统计字符串中汉字和标点符号的数量。具体步骤如下: 1. **定义方法 `isChinese(char c)`**:此方法用于判断单个字符是否为汉字或特定的中文标点符号。通过调用 `Character....
在汇编语言编程中,字符串比较是一个常见的任务,它涉及到字符序列的逐个对比来确定它们是否相等或包含关系。下面将详细讲解如何在汇编语言中实现这个功能。 首先,我们需要理解汇编语言的基本概念。汇编语言是一种...
在IT领域,对字符串进行类型判断是编程中的基础且重要的环节。通过判断字符串或字符的类型,程序员可以更准确地处理数据,确保程序的正确运行。以下是对几个关键字符串类型判断函数的详细介绍: ### 1. `isalnum()`...
还一一些比如用于比较两个变量是否引用同一个对象、equals用于比较两个字符串的内容是否相同、忽略大小写、判断是否以某个字符串开始或结束、根据字典排序比较两个字符串、删除字符串中的空格、将字符串转换成小写或...
在C++编程语言中,字符串处理是至关重要的一个部分,涉及到很多函数和...以上是C++字符串处理的基础知识,实际编程中还会遇到更多复杂情况,如宽字符、多字节字符集、正则表达式等,这些都需要根据具体需求学习和掌握。
通过本文的学习,我们不仅了解了如何使用 Java 的正则表达式来判断一个字符串中是否包含中文字符,还深入了解了 Java 中正则表达式的相关 API 和基本原理。这对于从事 Java 开发的技术人员来说是非常实用且必要的...
针对Oracle数据库中汉字在不通的字符集下所占字符长度不通,在保存时可能需要对源字符串的长度进行判断。 实现过程如下 /** * 针对汉字 进行计算长度 * @param string 计算的字符串 * @param ...
本示例中,我们探讨的是如何使用MASM32来编写一个自定义函数,判断一个字符串(字符串1)是否为另一个字符串(字符串2)的子串,同时考虑大小写的区别。 首先,我们需要了解`repe cmpsb`指令。这是汇编语言中的一个...
GB2312是一种支持简体中文的字符集,它将中文字符映射到多字节序列中。对于ASCII范围内的字符(即大部分英文字符),只需要一个字节即可表示;而中文字符则通常需要两个字节。因此,在处理中英文混合字符串时,需要...
总的来说,生成并验证同时包含数字、大写字母和小写字母的随机字符串是一项基础但重要的编程技能,它在很多IT应用场景中都有所体现。通过熟练掌握这种技术,开发者可以更好地应对各种与随机数据生成相关的问题。
4. 统计分析:分析字符串中不同字符集的分布,根据出现频率来推测编码类型,比如在中文文本中,GBK和UTF-8的分布可能会有所不同。 对于C++的开发者,虽然C#的代码不能直接使用,但可以通过移植或参考`...
`getBytes()`将字符串转换为字节数组,`new String(byte[], charset)`根据字符集将字节数组还原为字符串。 18. **判断前缀与后缀** `startsWith(String prefix)`和`endsWith(String suffix)`分别用于检查字符串...
本文将详细介绍一个专门用于处理中文字符串截取的JavaScript函数,该函数能够根据字符的实际编码长度来精确控制截取的长度。 #### 二、关键概念解析 ##### 2.1 字符串截取 字符串截取是指从一个较长的字符串中...
在 PowerBuilder (PB) 开发环境中,有时我们需要处理包含中文和英文字符的字符串,并将它们分开。例如,给定的标题 "Pb字符串中的中文和英文(含符号)拆分" 描述了一个需求:将像 '中字A文C' 这样的字符串拆分为 '...