字符集编码

     之前在进行网络编程、web开发时经常遇到文本的字符集编码问题,当时也没有深入的了解这方面知识,最近正好研究了一下这方面的东西,争取从本质上搞懂它。

     在计算机中任何信息、数据都是以二进制的形式存储的,文本字符串也不例外。所有的字符构成字符集(Character Set),而最终每个字符都对应一个整数,所以说在计算机中存在一个字符集到一组整数的映射,这个映射可以称作编码字符集(Coded Character Set),例如,ASCII、Unicode、GB2312等等都是编码字符集,在ASCII中'A'被映射成整数65。

     运行下面的程序可以看到字符对应的整数:

 

运行结果:

Test! 默认编码: [84, 101, 115, 116, 33]

Test! 默认编码: [84, 101, 115, 116, -93, -95]   

Test! UTF-16BE: [0, 84, 0, 101, 0, 115, 0, 116, 0, 33]

Test! UTF-16BE: [0, 84, 0, 101, 0, 115, 0, 116, -1, 1]

 

    可以看出中文字符!对应两个字节。在进行web开发或网络编程时,一定要使字符集一致,否则会出现乱码。尤其是进行php+mysql时,要使php文件内容的编码,php中的charset,还有mysql的数据库的编码,以及连接、查询编码一致。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值