1.PHP
PHP其实跟C语言一样,采用ASCII,一个char占1个字节,在GBK编码,一个英文占1个字节,一个中文占2个字节。然而在UTF-8编码下,一个英文还是占1个字节,但一个中文是占3-4个字节(一般都是3个字节),这通常会给你获取字符串的字长或者字符串截取带来麻烦。比如:
<?php $str = "我爱你Iloveyou"; echo strlen($str); //utf8下是17,GBK下是14,但如果问你$str的字长是多少,或者让你显示前6个字,其余省略号表示,怎么办? ?>
2.Java
java中的一个char是2个字节。java采用unicode,2个字节来表示一个字符,一个中文或英文字符的unicode编码都占2个字节,但如果采用其他编码方式,一个字符占用的字节数则各不相同。例如:
public class Test { public static void main(String[] args){ String str = "我们aaaaa"; int byte_len = str.getBytes().length; int len = str.length(); System.out.println("字节长度为:" + byte_len); System.out.println("字符长度为:" + len); } }
以上就介绍了记php和java中英文字节长度和编码关系,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。