UTF

您所在的位置:网站首页 中国动画学会换届 UTF

UTF

2023-08-11 21:49| 来源: 网络整理| 查看: 265

编码:将字符或者其他符号编成计算机可以计算处理的二进制0、1数字。 解码:将一系列二进制0、1数字解码成字符或者其他符号(编码的逆向过程)。

测试代码如下:

package com.qfedu.test; import java.util.Arrays; public class Test6 { public static void main(String[] args) throws Exception { demo1(); System.out.println("--------------------"); demo2(); System.out.println("--------------------"); demo3(); } /** * 测试utf-8编码,使用gbk或者iso-8859-1解码在编码,能否再使用utf-8解码回去 * @throws Exception */ public static void demo1() throws Exception { String s = "哈哈"; byte[] utf8 = s.getBytes("UTF-8"); // 使用utf-8编码 String s1 = new String(utf8, "GBK"); // 使用gbk解码 String s2 = new String(utf8, "ISO-8859-1"); // 使用ISO-8859-1解码 System.out.println(new String(s1.getBytes("GBK"), "UTF-8")); // 哈哈 System.out.println(new String(s2.getBytes("ISO-8859-1"), "UTF-8")); // 哈哈 System.out.println("经测试,经过utf-8编码的能通过gbk和iso-8859-1解码再编回去"); } /** * 测试gbk编码,使用utf-8或者iso-8859-1解码再编码,能否再使用gbk解码回去 */ public static void demo2() throws Exception { String s = "吃饭"; byte[] gbk = s.getBytes("GBK"); // 使用gbk编码 String s1 = new String(gbk, "UTF-8"); // 使用utf-8解码 String s2 = new String(gbk, "ISO-8859-1"); // 使用ISO-8859-1解码 System.out.println(new String(s1.getBytes("UTF-8"), "GBK")); // 锟皆凤拷 System.out.println(new String(s2.getBytes("ISO-8859-1"), "GBK")); // 吃饭 System.out.println("经测试,经过gbk编码只能通过iso-8859-1解码编回去"); } /** * 测试iso-8859-1编码,使用utf-8或者gbk解码再编码,能否再使用iso-8859-1解码回去 * @throws Exception */ public static void demo3() throws Exception { String s = "西红柿炒鸡蛋"; byte[] iso = s.getBytes("ISO-8859-1"); // 使用ISO-8859-1编码 System.out.println(Arrays.toString(iso)); String s1 = new String(iso, "UTF-8"); // 使用UTF-8解码 String s2 = new String(iso, "GBK"); // 使用GBK解码 System.out.println(new String(s1.getBytes("UTF-8"), "ISO-8859-1")); System.out.println(new String(s2.getBytes("GBK"), "ISO-8859-1")); System.out.println("经测试,ISO-8859-1编码不能使用UTF-8或GBK解码编回去"); } }

运行结果如下:

哈哈 哈哈 经测试,经过utf-8编码的能通过gbk和iso-8859-1解码再编回去 -------------------- 锟皆凤拷 吃饭 经测试,经过gbk编码只能通过iso-8859-1解码编回去 -------------------- [63, 63, 63, 63, 63, 63] ?????? ?????? 经测试,ISO-8859-1编码不能使用UTF-8或GBK解码编回去

总结:utf-8编码的可以通过gbk或者iso-8859-1解码再编回去 gbk编码的只能通过iso-8859-1解码再编回去



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3