代码下载地址:http://www.zuidaima.com/share/1795356301560832.htm
package com.zuidaima.util; import java.io.UnsupportedEncodingException; /** * 转换字符串的编码 */ public class ChangeCharset { /** 7位ASCII字符,也叫作ISO646-US、Unicode字符集的基本拉丁块 */ public static final String US_ASCII = "US-ASCII"; /** ISO 拉丁字母表 No.1,也叫作 ISO-LATIN-1 */ public static final String ISO_8859_1 = "ISO-8859-1"; /** 8 位 UCS 转换格式 */ public static final String UTF_8 = "UTF-8"; /** 16 位 UCS 转换格式,Big Endian(最低地址存放高位字节)字节顺序 */ public static final String UTF_16BE = "UTF-16BE"; /** 16 位 UCS 转换格式,Little-endian(最高地址存放低位字节)字节顺序 */ public static final String UTF_16LE = "UTF-16LE"; /** 16 位 UCS 转换格式,字节顺序由可选的字节顺序标记来标识 */ public static final String UTF_16 = "UTF-16"; /** 中文超大字符集 */ public static final String GBK = "GBK"; /** * 将字符编码转换成US-ASCII码 */ public String toASCII(String str) throws UnsupportedEncodingException { return this.changeCharset(str, US_ASCII); } /** * 将字符编码转换成ISO-8859-1码 */ public String toISO_8859_1(String str) throws UnsupportedEncodingException { return this.changeCharset(str, ISO_8859_1); } /** * 将字符编码转换成UTF-8码 */ public String toUTF_8(String str) throws UnsupportedEncodingException { return this.changeCharset(str, UTF_8); } /** * 将字符编码转换成UTF-16BE码 */ public String toUTF_16BE(String str) throws UnsupportedEncodingException { return this.changeCharset(str, UTF_16BE); } /** * 将字符编码转换成UTF-16LE码 */ public String toUTF_16LE(String str) throws UnsupportedEncodingException { return this.changeCharset(str, UTF_16LE); } /** * 将字符编码转换成UTF-16码 */ public String toUTF_16(String str) throws UnsupportedEncodingException { return this.changeCharset(str, UTF_16); } /** * 将字符编码转换成GBK码 */ public String toGBK(String str) throws UnsupportedEncodingException { return this.changeCharset(str, GBK); } /** * 字符串编码转换的实现方法 * * @param str * 待转换编码的字符串 * @param newCharset * 目标编码 * @return * @throws UnsupportedEncodingException */ public String changeCharset(String str, String newCharset) throws UnsupportedEncodingException { if (str != null) { // 用默认字符编码解码字符串。 byte[] bs = str.getBytes(); // 用新的字符编码生成字符串 return new String(bs, newCharset); } return null; } /** * 字符串编码转换的实现方法 * * @param str * 待转换编码的字符串 * @param oldCharset * 原编码 * @param newCharset * 目标编码 * @return * @throws UnsupportedEncodingException */ public String changeCharset(String str, String oldCharset, String newCharset) throws UnsupportedEncodingException { if (str != null) { // 用旧的字符编码解码字符串。解码可能会出现异常。 byte[] bs = str.getBytes(oldCharset); // 用新的字符编码生成字符串 return new String(bs, newCharset); } return null; } public static void main(String[] args) throws UnsupportedEncodingException { ChangeCharset test = new ChangeCharset(); String str = "This is a 中文的 String!"; System.out.println("str: " + str); String gbk = test.toGBK(str); System.out.println("转换成GBK码: " + gbk); System.out.println(); String ascii = test.toASCII(str); System.out.println("转换成US-ASCII码: " + ascii); gbk = test.changeCharset(ascii, ChangeCharset.US_ASCII, ChangeCharset.GBK); System.out.println("再把ASCII码的字符串转换成GBK码: " + gbk); System.out.println(); String iso88591 = test.toISO_8859_1(str); System.out.println("转换成ISO-8859-1码: " + iso88591); gbk = test.changeCharset(iso88591, ChangeCharset.ISO_8859_1, ChangeCharset.GBK); System.out.println("再把ISO-8859-1码的字符串转换成GBK码: " + gbk); System.out.println(); String utf8 = test.toUTF_8(str); System.out.println("转换成UTF-8码: " + utf8); gbk = test.changeCharset(utf8, ChangeCharset.UTF_8, ChangeCharset.GBK); System.out.println("再把UTF-8码的字符串转换成GBK码: " + gbk); System.out.println(); String utf16be = test.toUTF_16BE(str); System.out.println("转换成UTF-16BE码:" + utf16be); gbk = test.changeCharset(utf16be, ChangeCharset.UTF_16BE, ChangeCharset.GBK); System.out.println("再把UTF-16BE码的字符串转换成GBK码: " + gbk); System.out.println(); String utf16le = test.toUTF_16LE(str); System.out.println("转换成UTF-16LE码:" + utf16le); gbk = test.changeCharset(utf16le, ChangeCharset.UTF_16LE, ChangeCharset.GBK); System.out.println("再把UTF-16LE码的字符串转换成GBK码: " + gbk); System.out.println(); String utf16 = test.toUTF_16(str); System.out.println("转换成UTF-16码:" + utf16); gbk = test.changeCharset(utf16, ChangeCharset.UTF_16LE, ChangeCharset.GBK); System.out.println("再把UTF-16码的字符串转换成GBK码: " + gbk); String s = new String("中文".getBytes("UTF-8"), "UTF-8"); System.out.println(s); } }
输出结果:
另外关于java字符编码可以参考这个帖子:Java编码浅析(注意区分三个概念)
相关推荐
不需要关心接受的字符串编码是UTF_8还是GBK,还是ios-8859-1,自动转换为utf-8编码格式,无需判断字符串原有编码,用法://处理编码String newStr = GetEncode.transcode(oldStr);
该工具实现字符串任意转化,十六进制相互转换,繁简转换,字符串编码转换
万能字符串转换软件工具是一款支持字符串转16进制,16进制转字符串,字符串转Unicode,Unicode转字符串,简体转繁体(GB2312转GBK),繁体转简体(GBK转GB2312),繁体转BIG5(GBK转BIG5),BIG5转繁体(BIG5转GBK),字符串...
万能字符串转换软件工具是一款支持字符串转16进制,16进制转字符串,字符串转Unicode,Unicode转字符串,简体转繁体(GB2312转GBK),繁体转简体(GBK转GB2312),繁体转BIG5(GBK转BIG5),BIG5转繁体(BIG5转GBK),字符串...
本软件“万能的文件编码转换工具”专为此问题提供解决方案,它支持多种编码格式,使得用户能够轻松应对各种编码不兼容的情况。 首先,我们需要理解什么是文件编码。文件编码是指将字符转化为二进制数据的规则,常见...
一个json相互转换的万能java类(JsonUtil.java), 这个下面就是万能转换类的方法注释,懂java的相信都能看懂。 /** *//** * 从一个JSON 对象字符格式中得到一个java对象 * @param jsonString * @param ...
本文将详细介绍一个名为"CheckUtil"的Java万能判空工具类,它提供了便捷的方法来避免NullPointerException。 `CheckUtil`工具类的主要功能是提供一系列静态方法,用于检查对象、集合、数组、字符串等是否为空。这样...
《万能字符串转换软件工具Character1.2》是一款强大的文本处理工具,专为程序员和数据处理人员设计。它集成了多种字符串转换功能,能够高效地完成各种字符串操作,极大地提升了工作效率。在IT行业中,字符串处理是一...
Java编写的Excel万能工具类是一种高效处理Excel数据的实用程序,它可以帮助开发者轻松地读取、写入和操作Excel文件。在这个工具类中,通常会包含一系列静态方法,用于处理各种Excel相关的任务,比如打开文件、读取...
Converter是通用的编码互相转换的工具,适应于所有的编码格式。 转码格式: 1、字符转16进制 、16进制转字符、base64编码、base64解码、域名转 IP、数字转人民币。 2、MD5_16 、 MD5_ 32 、vbUnicode、vbFormUnicode...
Java中的字符串去重特性是Java 8 Update 20引入的一种优化机制,旨在减少内存消耗,特别是对于大量字符串操作的应用。这一特性依赖于G1(Garbage First)垃圾回收器,G1是Java 8中默认关闭的一个高级垃圾回收算法。...
总之,"gb2312-utf8"是一个强大的字符编码转换工具,它解决了不同编码格式之间的不兼容问题,特别是对于处理中文字符,可以避免出现烦人的乱码现象。无论是普通用户还是专业开发者,掌握这类工具的使用方法,都能够...
"万能字符转换工具"是一个非常实用的软件,专门用于处理文本中的缩进和空格问题,这对于编写代码、格式化文本或者进行数据处理时尤其有用。下面我们将深入探讨这个工具及其在开发过程中的应用。 首先,字符转换工具...
"常用万能单位转换工具"正是一款这样的应用程序,它涵盖了长度、重量等多种类型的单位转换,以满足用户在工作中的多样化需求。 长度单位转换在工程计算中极其常见,例如在建筑设计、机械制造或航空航天等领域。这个...
全能字符替换工具带编码转换是一款强大的软件,专为IT专业人士设计,用于处理各种文本编码问题并执行复杂的字符替换任务。在开发过程中,我们经常会遇到需要批量替换文本中的特定字符或字符串,或者需要在不同编码...
编程开发人员必备的多功能编码解码辅助计算工具,包含以下转换功能: URL 编码、URL解码、UTF 8_编码、UTF 8_解码、ASCII 码值、MD 5+BASE 64 字符转16进制 、16进制转字符、base64编码、base64解码、域名转 IP、...
编码转换工具,支持40种编码格式转换,支持目录下所有文件编码转换和筛选不同后缀的文件。
这类工具通常支持多种视频编码和解码技术,以适应广泛的设备和平台。以下是一些关于视频转换工具及其关联组件的详细知识点: 1. **视频编码与解码**:视频文件在存储和传输时需要被编码,以便减小文件大小。常见的...
"万能转换之转换工具.rar" 提供的显然是一款能够处理多种格式转换的工具,尤其针对3gp格式的文件。3gp是一种常见的移动设备使用的视频格式,由于其小巧的体积和良好的兼容性,在手机、平板等设备上广泛使用。 首先...