`

java中判断字符编码的格式以及转码

    博客分类:
  • java
JVM 
阅读更多
  1. java中判断字符编码以及转码  
  2. [参考]判断字符编码以及转码的一个工具类  
  3.   
  4.   
  5. public class TranCharset {  
  6.   
  7.     private static final String PRE_FIX_UTF = "&#x";  
  8.     private static final String POS_FIX_UTF = ";";  
  9.   
  10.     public TranCharset() {  
  11.     }  
  12.   
  13.       
  14.     public static String XmlFormalize(String sTemp) {  
  15.         StringBuffer sb = new StringBuffer();  
  16.   
  17.         if (sTemp == null || sTemp.equals("")) {  
  18.             return "";  
  19.         }  
  20.         String s = TranCharset.TranEncodeTOGB(sTemp);  
  21.         for (int i = 0; i < s.length(); i++) {  
  22.             char cChar = s.charAt(i);  
  23.             if (TranCharset.isGB2312(cChar)) {  
  24.                 sb.append(PRE_FIX_UTF);  
  25.                 sb.append(Integer.toHexString(cChar));  
  26.                 sb.append(POS_FIX_UTF);  
  27.             } else {  
  28.                 switch ((int) cChar) {  
  29.                     case 32:  
  30.                         sb.append("&#32;");  
  31.                         break;  
  32.                     case 34:  
  33.                         sb.append("&quot;");  
  34.                         break;  
  35.                     case 38:  
  36.                         sb.append("&amp;");  
  37.                         break;  
  38.                     case 60:  
  39.                         sb.append("&lt;");  
  40.                         break;  
  41.                     case 62:  
  42.                         sb.append("&gt;");  
  43.                         break;  
  44.                     default:  
  45.                         sb.append(cChar);  
  46.                 }  
  47.             }  
  48.         }  
  49.         return sb.toString();  
  50.     }  
  51.   
  52.       
  53.     public static String TranEncodeTOGB(String str) {  
  54.         try {  
  55.             String strEncode = TranCharset.getEncoding(str);  
  56.             String temp = new String(str.getBytes(strEncode), "GB2312");  
  57.             return temp;  
  58.         } catch (java.io.IOException ex) {  
  59.   
  60.             return null;  
  61.         }  
  62.     }  
  63.   
  64.       
  65.     public static boolean isGB2312(char c) {  
  66.         Character ch = new Character(c);  
  67.         String sCh = ch.toString();  
  68.         try {  
  69.             byte[]   bb = sCh.getBytes("gb2312");  
  70.             if (bb.length > 1) {  
  71.                 return true;  
  72.             }  
  73.         } catch (java.io.UnsupportedEncodingException ex) {  
  74.             return false;  
  75.         }  
  76.         return false;  
  77.     }  
  78.   
  79.       
  80.     public static String getEncoding(String str) {  
  81.         String encode = "GB2312";  
  82.         try {  
  83.             if (str.equals(new String(str.getBytes(encode), encode))) {  
  84.                 String s = encode;  
  85.                 return s;  
  86.             }  
  87.         } catch (Exception exception) {  
  88.         }  
  89.         encode = "ISO-8859-1";  
  90.         try {  
  91.             if (str.equals(new String(str.getBytes(encode), encode))) {  
  92.                 String s1 = encode;  
  93.                 return s1;  
  94.             }  
  95.         } catch (Exception exception1) {  
  96.         }  
  97.         encode = "UTF-8";  
  98.         try {  
  99.             if (str.equals(new String(str.getBytes(encode), encode))) {  
  100.                 String s2 = encode;  
  101.                 return s2;  
  102.             }  
  103.         } catch (Exception exception2) {  
  104.         }  
  105.         encode = "GBK";  
  106.         try {  
  107.             if (str.equals(new String(str.getBytes(encode), encode))) {  
  108.                 String s3 = encode;  
  109.                 return s3;  
  110.             }  
  111.         } catch (Exception exception3) {  
  112.         }  
  113.         return "";  
  114.     }  

分享到:
评论

相关推荐

    java字符串编码转换

    在Java中,字符串的处理是非常常见的操作之一,而字符编码是确保数据正确显示的关键因素。本篇文章将重点介绍Java中字符串编码的转换方法及其在Web环境中的应用。 #### 二、Java中的字符串与字符编码 在Java中,`...

    解决android读取中文乱码 自动判断文档类型并转码

    在 Java 中,我们可以使用 BufferedInputStream 和 BufferedReader 来读取文件,并通过判断文件的前三个字节来确定文件的编码格式。常见的编码格式有 UTF-8、Unicode、UTF-16BE 和 UTF-16LE 等。 在上面的代码中,...

    获取文件编码格式与文件转码

    在IT行业中,尤其是在Android开发中,处理文件编码格式与文件转码是常见的任务。编码格式决定了文本文件中字符的表示方式,不同的编码如ASCII、UTF-8、GBK等有着不同的规则。了解并能够正确处理文件编码对于确保程序...

    java 写的字符编码转换工具(附带源码)

    Java字符编码转换工具是编程中常见的一种实用程序,主要用于处理不同字符编码间的转换问题。在计算机世界里,字符编码是用来表示文本的各种方式,常见的有ASCII、GBK、UTF-8等。不同的编码方式适用于不同的场景,...

    java转码

    在Java编程语言中,"转码"通常指的是字符编码转换,这是处理文本数据时非常重要的一个环节。字符编码决定了字符如何在计算机内部表示,常见的编码有ASCII、GBK、UTF-8等。不同的编码格式适用于不同的场景,因此在...

    使用 Java 对 Linux 下文件编码格式进行批量转换源代码

    将 字符集编码格式为 GB2312 的文件 test0.java,test1.java,test2.java 放在 /home/defonds/tmp/test 目录下(test0.java,test1.java,test2.java 作者也可以自行随意创建。如何查看 test0.java 的字符集编码格式...

    关于JAVA字符编码:Unicode,ISO-8859-1,GBK,UTF-8编码及相互转换

    ### 关于JAVA字符编码:Unicode, ISO-8859-1, GBK, UTF-8 编码及相互转换 在Java开发过程中,字符编码是处理文本数据的基础,不同的编码方式会影响数据的存储、传输以及显示。本文将详细介绍几种常见的字符编码...

    前后台字符集转码.txt

    根据提供的文件信息,本文将详细解析前后台字符集转码的相关知识点,包括字符集的基本概念、前后端如何处理字符集转码以及示例代码中的具体实现。 ### 字符集的基本概念 在计算机科学中,字符集(Character Set)...

    java读写excel包括utf8转码为可识别汉字gbk

    java读写excel包括utf8转码为可识别汉字gbk,jxl方式读取excel,生成一个新的excel

    java任意音频格式转码

    - 编写Java代码,构建ffmpeg命令字符串,指定输入和输出文件,以及所需的音频编码参数。 - 使用Runtime或ProcessBuilder执行命令。 - 监听命令执行的输出,以获取转换状态和错误信息。 - 检查转换后的文件,确保...

    ascii编码转码工具

    在Struts中,处理字符编码问题通常涉及到请求参数、页面输出以及资源文件的编码转换。 "ASCII编码转码工具"是针对处理ASCII与非ASCII编码之间转换的软件,它可以有效地解决字符乱码问题。这类工具通常提供两种操作...

    将字符串中的中文做UNICODE转码,非中文忽略

    将字符串中的中文做UNICODE转码,非中文忽略 简单实用 封装好了 直接用即可

    Java 程序转码(UTF-8)

    在Java中,可以通过多种方式实现字符编码转换,其中最常见的方法是使用`java.nio.charset.StandardCharsets`类和`new String(byte[], Charset)`构造函数。此外,还可以使用`java.net.URLDecoder`和`java.net....

    jvm字符转码

    在Java虚拟机(JVM)中,字符转码是一个关键的概念,它涉及到字符串的内部表示以及与不同编码格式之间的转换。让我们深入探讨一下这个主题。 首先,了解字符集的基础知识至关重要。字符集,如ASCII、ISO-8859-1、GB...

    java转码工具

    Java转码工具是一种基于Java语言开发的实用程序,主要用于处理字符编码问题,特别是将文本文件在GB2312和UTF-8编码格式之间进行转换。在计算机领域,字符编码是决定如何用二进制数据表示字符的标准,不同的编码方式...

    java转码工具类

    在Java开发中,经常会遇到不同编码格式的文件处理问题,特别是在处理国际化应用时,字符集的兼容性尤为重要。本篇文章介绍了一个Java批量转换文件编码的工具类——`FileUtilsExt`,它能够帮助开发者轻松实现文件编码...

    彻底解决android读取中文txt的乱码(自动判断文档类型并转码

    本文将深入探讨如何彻底解决这一问题,包括自动判断文档编码类型以及进行转码操作。 首先,我们需要理解为什么会出现中文乱码。在计算机中,文本是以特定编码格式存储的,例如ASCII、GBK、UTF-8等。不同的编码格式...

    java的api中文转码示例

    在Java编程中,处理中文字符编码是一个常见的任务,特别是在与URL交互、文件读写或网络通信等场景。本文将深入探讨如何使用Java API进行中文转码,以方便URL传参和其他应用。 首先,中文字符在计算机中存储时通常...

    java转码代码

    在Java编程语言中,"转码"通常是指在不同字符编码之间进行转换的过程,以解决乱码问题。乱码是由于文件或数据流在处理时使用了错误的字符集导致的。在这个场景下,"java转码代码"指的是用于解决Java程序中遇到的乱码...

    中文转换成NCR编码

    在IT领域,尤其是在处理网页和富文本内容时,字符编码是一个至关重要的概念。...在编程实践中,我们应当养成良好的编码习惯,注意字符编码的选择和转换,以便在各种环境和场景下都能得到理想的显示效果。

Global site tag (gtag.js) - Google Analytics