UTF-8编码与GBK编码下的字符长度
Posted informationgod
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UTF-8编码与GBK编码下的字符长度相关的知识,希望对你有一定的参考价值。
源码:
package lsh.java.charset; import java.nio.charset.Charset; public class LengthOfUTF_8 { public static void main(String[] args) { System.out.println("系统默认编码为: "+Charset.defaultCharset().name()); testEnglish(); System.out.println("------------分割线--------------"); testChinese(); } public static void testEnglish(){ String str = new String("a"); byte[] bytes1 = str.getBytes(Charset.forName("UTF-8")); byte[] bytes2 = str.getBytes(Charset.forName("GBK")); System.out.println("UTF-8格式1个英文字长度 = "+bytes1.length); System.out.println("GBK 格式1个英文字长度 = "+bytes2.length); } public static void testChinese(){ String str = new String("我"); byte[] bytes1 = str.getBytes(Charset.forName("UTF-8")); byte[] bytes2 = str.getBytes(Charset.forName("GBK")); System.out.println("UTF-8格式1个中文字长度 = "+bytes1.length); System.out.println("GBK 格式1个中文字长度 = "+bytes2.length); } }
输出结果:
系统默认编码为: UTF-8 UTF-8格式1个英文字长度 = 1 GBK 格式1个英文字长度 = 1 ------------分割线-------------- UTF-8格式1个中文字长度 = 3 GBK 格式1个中文字长度 = 2
以上是关于UTF-8编码与GBK编码下的字符长度的主要内容,如果未能解决你的问题,请参考以下文章