共计 668 个字符,预计需要花费 2 分钟才能阅读完成。
查看 utf-8、gbk 和 ascii 编码的不同,结果如下。
代码:
import java.io.UnsupportedEncodingException;
public class Test {
public static void main(String[] args) throws UnsupportedEncodingException {
String str = "Hello,world,哈哈哈";
byte[] utf8Bytes = str.getBytes("UTF-8");
byte[] gbkBytes = str.getBytes("GBK");
byte[] asciiBytes = str.getBytes("US-ASCII");
// utf-8 编码1字节表示英文,3字节表示汉字,所以结果为:12 + 3 * 3
System.out.println("UTF-8: " + new String(utf8Bytes, "UTF-8") + " 字节数组长度为:" +utf8Bytes.length );
// gbk 编码1字节表示英文,2字节表示汉字,所以结果为:12 + 2 * 3
System.out.println("GBK: " + new String(gbkBytes, "GBK") + " 字节数组长度为:" +gbkBytes.length );
// 共 15 个字符,长度为 15,但是不能编码中文,所以中文输出乱码
System.out.println("US-ASCII: " + new String(asciiBytes, "US-ASCII") + " 字节数组长度为:" +asciiBytes.length );
}
}
提醒:本文发布于625天前,文中所关联的信息可能已发生改变,请知悉!
AD:【腾讯云服务器大降价】2核4G 222元/3年 1核2G 38元/年
正文完