zoukankan      html  css  js  c++  java
  • 字符串编码的转换

     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>?
  • 相关阅读:
    深度解读设备的“万能语言”鸿蒙系统的分布式软总线能力
    懂分析、会预测,你见过这样的华为云DAS吗?
    华为云登顶HotpotQA多跳知识推理问答评测
    突破开源Redis的内存限制,存算分离的GaussDB到底有多能“装”?
    六步带你完成博流wifi模组对接华为云流程
    Materialize MySQL引擎:MySQL到Click House的高速公路
    CWE 4.3:强化你的数据自我保护能力
    使用TENSORRT和NVIDIA-DOCKER部署深部神经网络
    用于ONNX的TensorRT后端
    循环IRNNv2Layer实现
  • 原文地址:https://www.cnblogs.com/celine/p/8463626.html
Copyright © 2011-2022 走看看