您现在的位置是:主页 > news > 漳州模板网站建设/天气预报最新天气预报
漳州模板网站建设/天气预报最新天气预报
admin2025/6/25 8:22:07【news】
简介漳州模板网站建设,天气预报最新天气预报,alpha wordpress 版本,深圳做网站信科有人说Java中中文字符占2个字节,也有人说占3个字节,甚至还有人说占4个字节;有人说Java中英文字符占1个字节,也有人说占2个字节,甚至还有人说占4个字节;那么到底谁说的对?我的回答是都没错&#…
有人说Java中中文字符占2个字节,也有人说占3个字节,甚至还有人说占4个字节;
有人说Java中英文字符占1个字节,也有人说占2个字节,甚至还有人说占4个字节;
那么到底谁说的对?我的回答是都没错,具体要看是什么编码方式。纸上得来终觉浅,绝知此事要躬行,我编写了下边的代码,运行输出的结果就是答案。
代码如下:
public class Test {
public static void main(String[] args){
String[] charsetNames={
"UTF-8", "UTF-16",
"UTF-16BE",
"UTF-16LE",
"UTF-32",
"UTF-32BE",
"UTF-32LE",
"UNICODE",
"GBK",
"GB2312",
"GB18030",
"ISO8859-1",
"BIG5",
"ASCII" };
for(int i=0;i
printByteLength(charsetNames[i]); }
}
/** * String类的不带参数的getBytes()方法会以程序所运行平台的默认编码方式为准来进行转换, * 在不同环境下可能会有不同的结果,因此建议使用指定编码方式的getBytes(String charsetName)方法。 */
public static void printByteLength(String charsetName){
String en="a"; //一个英文字符 String zh="啊"; //一个中文字符 try { System.out.println(charsetName+"编码英文字符所占字节数:"+en.getBytes(charsetName).length); System.out.println(charsetName+"编码中文字符所占字节数:"+zh.getBytes(charsetName).length); System.out.println();
} catch (UnsupportedEncodingException e) {
System.out.println("非法编码格式!");
}
}
}
运行结果:
UTF-8编码英文字符所占字节数:1UTF-8编码中文字符所占字节数:3UTF-16编码英文字符所占字节数:4UTF-16编码中文字符所占字节数:4UTF-16BE编码英文字符所占字节数:2UTF-16BE编码中文字符所占字节数:2UTF-16LE编码英文字符所占字节数:2UTF-16LE编码中文字符所占字节数:2UTF-32编码英文字符所占字节数:4UTF-32编码中文字符所占字节数:4UTF-32BE编码英文字符所占字节数:4UTF-32BE编码中文字符所占字节数:4UTF-32LE编码英文字符所占字节数:4UTF-32LE编码中文字符所占字节数:4UNICODE编码英文字符所占字节数:4UNICODE编码中文字符所占字节数:4GBK编码英文字符所占字节数:1GBK编码中文字符所占字节数:2GB2312编码英文字符所占字节数:1GB2312编码中文字符所占字节数:2GB18030编码英文字符所占字节数:1GB18030编码中文字符所占字节数:2ISO8859-1编码英文字符所占字节数:1ISO8859-1编码中文字符所占字节数:1BIG5编码英文字符所占字节数:1BIG5编码中文字符所占字节数:2ASCII编码英文字符所占字节数:1ASCII编码中文字符所占字节数:1
