回复[关于字符编码问题]

电脑智能识别01这两个数字,
让电脑显示人可以看懂的文字,需要告诉电脑,什么样的01字符代表什么文字,然后在显示器上打印处理。
假设,16进位数0x1F0x2F来表示"中"这个字,那么就必须有一个数据来定义这些信息。
而这种用来定义文字用什么样的2进位数显示的标准,就是所谓的编码。
当然,这种编码的标准可以是一台电脑上一个样,为了不同电脑、网络间信息的交流,让所有的电脑都能显示人可以看懂的文字,
就有了UTF-8、GB2312等编码。
应该有很多人记得,UTF-8在网络上流行的初期,很多人说,UTF-8的性能不如GBK/GB2312等编码。其主要原因就是,GBK/GB2312用2字节来表示文字,而UTF-8为了兼容世界上所有的文字,以1-3字节来表示文字。当然,这种性能上的差异是微乎其微的。跟兼容世界语言相比,这种性能上微乎其微,就像大多数电脑必须牺牲很多资源去显示人才能看懂的文字一样。

不过,知道了用什么2进位数表示什么文字,也就是编码,那么以什么样式显示这个文字呢?
这也就是经常所说的字体的定义。


>>例如,现在有一个文本文件,里面有些中文。现在PHP去读取它,然后打印出来,期间都遇到那些过程???

首先要知道文本文件的中文使用的是什么编码,在没有别制定的情况下,PHP会采用自己默认的编码进行读取。
PHP下的默认编码的设定在local里面。
例如,通过命令行的PHP打印文字,这个文字以什么样式输出呢?
这个时候,就依照系统的设定的。看执行命令的系统设定的是什么字体。
所以,如果php打印出来的字串如果是当前系统设定所不兼容的字体,那么就会出现乱码。

如果是通过http服务器输出HTML,那么就是输出的字串+http头信息中制定的编码,如果,php输出的字串和http头信息定义的编码不符,
客户端,也就是浏览器,就可能出现乱码。
至于显示器以什么字体表示html的内容,那就是CSS、html和浏览器的定义了,这些大家都知道。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值