Feb 13

判断字符串编码的函数及编码的理解 不指定

bkkkd , 13:34 , 开发应用 , 评论(4) , 引用(0) , 阅读(9277) , Via 本站原创 | |

<?
function is_utf8($string) {
   // From http://w3.org/International/questions/qa-forms-utf-8.html
   return preg_match('%^(?:
         [\x09\x0A\x0D\x20-\x7E]            # ASCII
       | [\xC2-\xDF][\x80-\xBF]            # non-overlong 2-byte
       |  \xE0[\xA0-\xBF][\x80-\xBF]        # excluding overlongs
       | [\xE1-\xEC\xEE\xEF][\x80-\xBF]  # straight 3-byte
       |  \xED[\x80-\x9F][\x80-\xBF]        # excluding surrogates
       |  \xF0[\x90-\xBF][\x80-\xBF]    # planes 1-3
       | [\xF1-\xF3][\x80-\xBF]          # planes 4-15
       |  \xF4[\x80-\x8F][\x80-\xBF]    # plane 16
   )*$%xs', $string);  
}?>

但不知道每一个国家的语言是怎样分别的?
中文常用编码方式
        
ASCII#最原的编码方式,计算机最初设计时用使用的编码0-255
gb2313#为了适应中文的应用,所制作出来的,使用用两个字节的表示第一字节:176-247
第二字节:160-254
gbk在gd2312的基础上扩容,而且为了统一中文字符用有又字节的都是从129开始第一字节:129-254
第二字节:64-254
GB18030在gbk的基础上扩容,而且而且增加了四字节显示双字节部分:第一字节:176-254
第二字节:64-126,128-254
四字节部分:第一字节:176-254
第二字节:48-57
第三字节:176-254
第四字节:48-57

GB18030虽然为国标,但系一般情况使用比较小.
多数使用GBK
但是国际上为了更好的支持各国语言,开始了新的标准
Unicode
国际标准组织于1984年4月成立ISO/IECJTC1/SC2/WG2工作组,针对各国文字、符号进行统一性编码。1991年美国跨国公司成立UnicodeConsortium,并于1991年10月与WG2达成协议,采用同一编码字集。目前Unicode是采用16位编码体系,其字符集内容与ISO10646的BMP(BasicMultilingualPlane)相同。Unicode于1992年6月通过DIS(DrafInternationalStandard),目前版本V2.0于1996公布,内容包含符号6811个,汉字20902个,韩文拼音11172个,造字区6400个,保留20249个,共计65534个。

即0x3400-0x4dB5
及0x4E00-9FA5
为中文编码

总结:
无论ASCII,gb2312,GBK,GB18030,Unicode等都系编码方案
在网络上传送的数据还是0000 0000


Tags: , ,
小生 Email Homepage
February 14, 2007 13:17
这是一条隐藏评论或留言。您需要以合适的身份登入后才能看到。
lee Homepage
February 14, 2007 09:19
这是一条隐藏评论或留言。您需要以合适的身份登入后才能看到。
小生 Email Homepage
February 13, 2007 20:10
这是一条隐藏评论或留言。您需要以合适的身份登入后才能看到。
lee Homepage
February 13, 2007 16:14
这是一条隐藏评论或留言。您需要以合适的身份登入后才能看到。
分页: 1/1 第一页 1 最后页
发表评论
表情
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
打开HTML
打开UBB
打开表情
隐藏
记住我
昵称   密码   游客无需密码
网址   电邮   [注册]