java中判断字符编码以及转码
[参考]判断字符编码以及转码的一个工具类
http://hi.baidu.com/pazhu/blog/item/efcce7a2034ae9a8caefd05b.html
2008-07-01 08:55
/**
* Date: 2008-6-27
* <p>Copyright: Copyright (c) 2006</p>
*
* @version 1.0
* @author: SRH
*/
public class TranCharset {
private static final String PRE_FIX_UTF = "&#x";
private static final String POS_FIX_UTF = ";";
public TranCharset() {
}
/**
* Translate charset encoding to unicode
*
* @param sTemp charset encoding is gb2312
* @return charset encoding is unicode
*/
public static String XmlFormalize(String sTemp) {
StringBuffer sb = new StringBuffer();
if (sTemp == null || sTemp.equals("")) {
return "";
}
String s = TranCharset.TranEncodeTOGB(sTemp);
for (int i = 0; i < s.length(); i++) {
char cChar = s.charAt(i);
if (TranCharset.isGB2312(cChar)) {
sb.append(PRE_FIX_UTF);
sb.append(Integer.toHexString(cChar));
sb.append(POS_FIX_UTF);
} else {
switch ((int) cChar) {
case 32:
sb.append(" ");
break;
case 34:
sb.append(""");
break;
case 38:
sb.append("&");
break;
case 60:
sb.append("<");
break;
case 62:
sb.append(">");
break;
default:
sb.append(cChar);
}
}
}
return sb.toString();
}
/**
* 将字符串编码格式转成GB2312
*
* @param str
* @return
*/
public static String TranEncodeTOGB(String str) {
try {
String strEncode = TranCharset.getEncoding(str);
String temp = new String(str.getBytes(strEncode), "GB2312");
return temp;
} catch (java.io.IOException ex) {
return null;
}
}
/**
* 判断输入字符是否为gb2312的编码格式
*
* @param c 输入字符
* @return 如果是gb2312返回真,否则返回假
*/
public static boolean isGB2312(char c) {
Character ch = new Character(c);
String sCh = ch.toString();
try {
byte[] bb = sCh.getBytes("gb2312");
if (bb.length > 1) {
return true;
}
} catch (java.io.UnsupportedEncodingException ex) {
return false;
}
return false;
}
/**
* 判断字符串的编码
*
* @param str
* @return
*/
public static String getEncoding(String str) {
String encode = "GB2312";
try {
if (str.equals(new String(str.getBytes(encode), encode))) {
String s = encode;
return s;
}
} catch (Exception exception) {
}
encode = "ISO-8859-1";
try {
if (str.equals(new String(str.getBytes(encode), encode))) {
String s1 = encode;
return s1;
}
} catch (Exception exception1) {
}
encode = "UTF-8";
try {
if (str.equals(new String(str.getBytes(encode), encode))) {
String s2 = encode;
return s2;
}
} catch (Exception exception2) {
}
encode = "GBK";
try {
if (str.equals(new String(str.getBytes(encode), encode))) {
String s3 = encode;
return s3;
}
} catch (Exception exception3) {
}
return "";
}
}
分享到:
相关推荐
在Java中,字符串的处理是非常常见的操作之一,而字符编码是确保数据正确显示的关键因素。本篇文章将重点介绍Java中字符串编码的转换方法及其在Web环境中的应用。 #### 二、Java中的字符串与字符编码 在Java中,`...
根据提供的文件信息,本文将详细解析前后台字符集转码的相关知识点,包括字符集的基本概念、前后端如何处理字符集转码以及示例代码中的具体实现。 ### 字符集的基本概念 在计算机科学中,字符集(Character Set)...
Java字符编码转换工具是编程中常见的一种实用程序,主要用于处理不同字符编码间的转换问题。在计算机世界里,字符编码是用来表示文本的各种方式,常见的有ASCII、GBK、UTF-8等。不同的编码方式适用于不同的场景,...
在 Java 中,我们可以使用 BufferedInputStream 和 BufferedReader 来读取文件,并通过判断文件的前三个字节来确定文件的编码格式。常见的编码格式有 UTF-8、Unicode、UTF-16BE 和 UTF-16LE 等。 在上面的代码中,...
java读写excel包括utf8转码为可识别汉字gbk,jxl方式读取excel,生成一个新的excel
### 关于JAVA字符编码:Unicode, ISO-8859-1, GBK, UTF-8 编码及相互转换 在Java开发过程中,字符编码是处理文本数据的基础,不同的编码方式会影响数据的存储、传输以及显示。本文将详细介绍几种常见的字符编码...
在Java编程语言中,"转码"通常指的是字符编码转换,这是处理文本数据时非常重要的一个环节。字符编码决定了字符如何在计算机内部表示,常见的编码有ASCII、GBK、UTF-8等。不同的编码格式适用于不同的场景,因此在...
在Struts中,处理字符编码问题通常涉及到请求参数、页面输出以及资源文件的编码转换。 "ASCII编码转码工具"是针对处理ASCII与非ASCII编码之间转换的软件,它可以有效地解决字符乱码问题。这类工具通常提供两种操作...
将字符串中的中文做UNICODE转码,非中文忽略 简单实用 封装好了 直接用即可
在Java中,可以通过多种方式实现字符编码转换,其中最常见的方法是使用`java.nio.charset.StandardCharsets`类和`new String(byte[], Charset)`构造函数。此外,还可以使用`java.net.URLDecoder`和`java.net....
Java转码工具是一种基于Java语言开发的实用程序,主要用于处理字符编码问题,特别是将文本文件在GB2312和UTF-8编码格式之间进行转换。在计算机领域,字符编码是决定如何用二进制数据表示字符的标准,不同的编码方式...
在Java虚拟机(JVM)中,字符转码是一个关键的概念,它涉及到字符串的内部表示以及与不同编码格式之间的转换。让我们深入探讨一下这个主题。 首先,了解字符集的基础知识至关重要。字符集,如ASCII、ISO-8859-1、GB...
在Java编程中,处理中文字符编码是一个常见的任务,特别是在与URL交互、文件读写或网络通信等场景。本文将深入探讨如何使用Java API进行中文转码,以方便URL传参和其他应用。 首先,中文字符在计算机中存储时通常...
打开 /home/defonds/tmp/test2 文件夹,发现有新文件 test0.java,test1.java,test2.java 生成,查看其编码格式,是为 UTF-8,证明转码成功。 4。使用本工具可以对 Linux 下文件的字符集编码格式进行批量转换。只需...
在Java编程语言中,"转码"通常是指在不同字符编码之间进行转换的过程,以解决乱码问题。乱码是由于文件或数据流在处理时使用了错误的字符集导致的。在这个场景下,"java转码代码"指的是用于解决Java程序中遇到的乱码...
在Java开发中,经常会遇到不同编码格式的文件处理问题,特别是在处理国际化应用时,字符集的兼容性尤为重要。本篇文章介绍了一个Java批量转换文件编码的工具类——`FileUtilsExt`,它能够帮助开发者轻松实现文件编码...
在IT领域,尤其是在处理网页和富文本内容时,字符编码是一个至关重要的概念。...在编程实践中,我们应当养成良好的编码习惯,注意字符编码的选择和转换,以便在各种环境和场景下都能得到理想的显示效果。
这是一个URL编码转码工具,具体的功能和演示不发了。 实际功能是把网址转换为%hex 的形式。 1. 这个曾经是安全领域涉及到SQL注入破解屏蔽字符串的方法之一,但是现在已经很少用了 2. 这曾经是入侵大型网站(特别是...
- **使用内置API**:在Java和Android中,`java.nio.charset.Charset`类提供了编码和解码功能,可以通过`new String(byte[], charset)`和`String.getBytes(charset)`方法实现文件内容的转码。 - **流操作**:使用`...
在Java编程语言中,处理Emoji可能会涉及到Unicode编码、字体映射以及平台特定的实现。Java Emoji Converter提供了一个统一的接口,允许开发者将一个格式的Emoji字符串转化为另一种格式,确保在各种环境中都能正确...