字符串编码的转换

 1 package com.jdk7.chapter5;
 2
 3 import java.io.UnsupportedEncodingException;
 4
 5 public class ChangeCharsetTest {
 6     //公共的唯一静态变量
 7     public static final String US_ASCII = "US-ASCII";
 8     public static final String ISO_8859_1 = "ISO-8859-1";
 9     public static final String UTF_8 = "UTF-8";
10     public static final String UTF_16BE = "UTF-16BE";
11     public static final String UTF_16LE = "UTF-16LE";
12     public static final String UTF_16 = "UTF-16";
13     public static final String GBK = "GBK";
14
15     public String toUS_ASCII(String str) throws UnsupportedEncodingException{
16         return changeCharset(str, this.US_ASCII);
17     }
18
19     public String toISO_8859(String str) throws UnsupportedEncodingException{
20         return changeCharset(str, this.ISO_8859_1);
21     }
22
23     public String toUTF_8(String str) throws UnsupportedEncodingException{
24         return changeCharset(str, this.UTF_8);
25     }
26
27     public String toUTF_16BE(String str) throws UnsupportedEncodingException{
28         return changeCharset(str, this.UTF_16BE);
29     }
30
31     public String toUTF_16LE(String str) throws UnsupportedEncodingException{
32         return changeCharset(str, this.UTF_16LE);
33     }
34
35     public String toUTF_16(String str) throws UnsupportedEncodingException{
36         return changeCharset(str, this.UTF_16);
37     }
38
39     public String toGBK(String str) throws UnsupportedEncodingException{
40         return changeCharset(str, this.GBK);
41     }
42
43     public String changeCharset(String str, String newCharset) throws UnsupportedEncodingException{
44         byte[] bt = str.getBytes();
45         return new String(bt, newCharset);
46     }
47
48     public String changeCharset(String str, String newCharset, String oldCharset) throws UnsupportedEncodingException{
49         byte[] bt = str.getBytes(oldCharset);
50         return new String(bt, newCharset);
51     }
52
53     public static void main(String[] args) throws UnsupportedEncodingException {
54         ChangeCharsetTest cct = new ChangeCharsetTest();
55         String str = "This is 中文 charset!";
56         System.out.println("cct.toUS_ASCII("+str+")>"+cct.toUS_ASCII(str));
57         System.out.println("cct.toGBK("+str+")>"+cct.toGBK(str));
58         System.out.println("cct.toISO_8859("+str+")>"+cct.toISO_8859(str));
59         System.out.println("cct.toUTF_16("+str+")>"+cct.toUTF_16(str));
60         System.out.println("cct.toUTF_16BE("+str+")>"+cct.toUTF_16BE(str));
61         System.out.println("cct.toUTF_16LE("+str+")>"+cct.toUTF_16LE(str));
62         System.out.println("cct.toUTF_8("+str+")>"+cct.toUTF_8(str));
63         System.out.println("GBK to ISO_8859_1>"+cct.changeCharset(str, GBK, ISO_8859_1));
64         System.out.println("GBK to US_ASCII>"+cct.changeCharset(str, GBK, US_ASCII));
65         System.out.println("GBK to UTF_16>"+cct.changeCharset(str, GBK, UTF_16));
66         System.out.println("GBK to UTF_16BE>"+cct.changeCharset(str, GBK, UTF_16BE));
67         System.out.println("GBK to UTF_16LE>"+cct.changeCharset(str, GBK, UTF_16LE));
68         System.out.println("GBK to UTF_8>"+cct.changeCharset(str, GBK, UTF_8));
69     }
70 }
71
72 执行结果:
73 cct.toUS_ASCII(This is 中文 charset!)>This is ???? charset!
74 cct.toGBK(This is 中文 charset!)>This is 中文 charset!
75 cct.toISO_8859(This is 中文 charset!)>This is ???? charset!
76 cct.toUTF_16(This is 中文 charset!)>周楳?猠???桡牳整?
77 cct.toUTF_16BE(This is 中文 charset!)>周楳?猠???桡牳整?
78 cct.toUTF_16LE(This is 中文 charset!)>桔獩椠???挠慨獲瑥?
79 cct.toUTF_8(This is 中文 charset!)>This is ???? charset!
80 GBK to ISO_8859_1>This is ?? charset!
81 GBK to US_ASCII>This is ?? charset!
82 GBK to UTF_16>?

原文地址:https://www.cnblogs.com/celine/p/8463626.html

时间: 2024-10-13 13:28:10

字符串编码的转换的相关文章

PHP 字符串编码的转换

原文链接:http://mangguo.org/php-string-encoding-convert-and-detect/ GBK 和 UTF-8 编码的转换是一个非常恶心的事情,比如像 PHP 中的 json_encode 本身根本不支持 GBK 形式的编码.有两个库函数能够支持编码的转换,通常能够想到的就是 iconv 函数,使用起来也非常爽: iconv('GBK', 'UTF-8//IGNORE', '芒果小站'); // 将字符串由 GBK 编码转换为 UTF-8 编码 但 ico

Java字符串编码和转换操作

简介: 在java程序的class里,字符串以utf-8编码保存.在程序处理中,需要进行字符串编码转换时,使用getByte指定编码. 在java程序中,定义的字符串,在class文件中,字符串是以utf-8进行保存的. public class Hello1 { public static void main(String [] args) { System.out.println("aaaa长风aaaa"); } } 编译后,在class文件内,保存的字符串如下: 这里字符[长]的

python学习列表字符串字典集合文件操作字符串编码与转换

一.列表 1 names = "ZhangYang GuYun XiangPeng XuLiangchen" 2 names = ["ZhangYang", "GuYun", "XiangPeng", "ChengRongHua","XuLiangchen"] 3 names.append("LeiHaiDong") #在列表最后追加一个元素 4 names.inse

分享万能java字符串编码转换工具类

代码下载地址:http://www.zuidaima.com/share/1795356301560832.htm 原文:分享万能java字符串编码转换工具类 package com.zuidaima.util; import java.io.UnsupportedEncodingException; /** * 转换字符串的编码 */ public class ChangeCharset { /** 7位ASCII字符,也叫作ISO646-US.Unicode字符集的基本拉丁块 */ publ

JAVA字符串编码转换常用类

无论是对程序的本地化还是国际化,都会涉及到字符编码的转换的问题.尤其在web应用中常常需要处理中文字符,这时就需要进行字符串的编码转换,将字符串编码转换为GBK或者GB2312.一.关键技术点:    1.当前流行的字符编码格式有:US-ASCII.ISO-8859-1.UTF-8.UTF-16BE.UTF-16LE.UTF-16.GBK.GB2312等,其中GBK.GB2312是专门处理中文编码的.    2.String的getBytes方法用于按指定编码获取字符串的字节数组,参数指定了解码

转换字符串编码

做文章采集的时候,遇到了不同网站的字符编码不同的问题,于是写了一个简单的字符转换函数 <?php /* 转换字符串编码 */ function convert($str, $from = 'utf-8', $to = 'gb2312') { if(!$str) return false; if(!is_string($str))return false; $from = strtolower($from); $to = strtolower($to); $from = str_replace('

Python判断字符串编码以及编码的转换

判断字符串编码 使用 chardet 可以很方便的实现字符串/文件的编码检测.尤其是中文网页,有的页面使用GBK/GB2312,有的使用UTF8,如果你需要去爬一些页面,知道网页编码很重要 >>> import urllib >>> html = urllib.urlopen('http://www.chinaunix.net').read() >>> import chardet >>> chardet.detect(html) {

Java 正确的做字符串编码转换

字符串的内部表示? 字符串在java中统一用unicode表示( 即utf-16 LE) , 对于 String s = "你好哦!"; 如果源码文件是GBK编码, 操作系统(windows)默认的环境编码为GBK,那么编译时,  JVM将 按照GBK编码将字节数组解析成字符,然后将字符转换为unicode格式的字节数组,作为内部存储. 当打印这个字符串时,JVM 根据操作系统本地的语言环境,将unicode转换为GBK,然后操作系统将GBK格式的内容显示出来. 当源码文件是UTF-8

PHP判断字符串编码是否为utf8以及转换问题

今天说说编码乱码问题,当一个页面存在两种编码的时候,无论你乍么选择都会出现乱码,解决方法: 1.你据在网页编码是哪个. 2.首先判断字符串编码是否为utf8代码如下: PHP代码 function is_utf8($word) { if (preg_match("/^([".chr(228)."-".chr(233)."]{1}[".chr(128)."-".chr(191)."]{1}[".chr(128