字节与字符的区别
山中何事,松花酿酒,春水煎茶。
一通分析
PHP代码中字符串的默认编码方式是根据页面的编码方式决定的, 一般情况下我们设置的都是utf-8编码,当然也不排除其他情况;
默认utf8格式
1 | $str='我'; |
转成gbk格式
1 | $str='我'; |
出现乱码
1 | $str='我'; |
解决乱码
1 | header("Content-type: text/html; charset=gb2312"); |
或者是将我们的网页的编码方式改成gbk
, 因为新版的Chrome已经移除了修改页面编码方式的工具, 不过我们可以借助他的一款扩展程序Set Character Encoding
来解决;
注意header头的作用是申明页面渲染的编码方式, 并不能影响PHP代码中相关字符的编码方式
字节和字符
字节(Byte)是计量单位,表示数据量多少,是计算机存储容量的计量单位。一个字节占8位。
字符(Character)计算机中使用的文字和符号,比如’A’、’B’、’$’、’&’等。
ASCII码中,一个英文字母(不分大小写)占一个字节的空间,一个中文汉字占两个字节的空间。
UTF-8编码中,一个英文字符等于一个字节,一个中文等于三个字节。
Unicode编码中,一个英文等于两个字节,一个中文等于两个字节。
符号:英文标点占一个字节,中文标点占两个字节。举例:英文句号“.”占1个字节的大小,中文句号“。”占2个字节的大小。
单位换算
1字节(Byte) = 8位(bit) (1B=8位(bit))
1KB=1024B
1MB=1024KB