zoukankan      html  css  js  c++  java
  • utf-8 和gbk编码的差别

    UTF- 8:

    是用以解决国际上字符的一种多字节编码,它对英文使用8位(即一个字节),中文使用24为(三个字节)来编码。

    GBK

    是国家标准GB2312基础上扩容后兼容GB2312的标准。

    GBK的文字编码是用双字节来表示的,即不论中、英文字符均使用双字节来表示,为了区分中文,将其最高位都设定成1。GBK包括所有中文字符,是国家编码。通用性比UTF8差,只是UTF8占用的数据库比GBD大


    全部网页一般採用utf-8,由于网页中基本是大量的html代码採用utf-8比較不会占用空间

    utf-8编码的数据库varchar(30) 之多能够保存10个汉字。由于一个汉字占三个字节



    4.0版本号下面,varchar(20),指的是20字节,假设存放UTF8汉字时,仅仅能存6个(每一个汉字3字节) ;5.0版本号以上,varchar(20),指的是20字符。不管存放的是数字、字母还是UTF8汉字(每一个汉字3字节),都能够存放20个。最大大小是65532字节 ;varchar(20)在Mysql4中最大也只是是20个字节,可是Mysql5依据编码不同,存储大小也不同。详细有下面规则:
    a) 存储限制
    varchar 字段是将实际内容单独存储在聚簇索引之外,内容开头用1到2个字节表示实际长度(长度超过255时须要2个字节),因此最大长度不能超过65535。


    b) 编码长度限制
    字符类型若为gbk。每一个字符最多占2个字节,最大长度不能超过32766;
    字符类型若为utf8,每一个字符最多占3个字节,最大长度不能超过21845。
    若定义的时候超过上述限制,则varchar字段会被强行转为text类型。并产生warning。


    对于c 语言

    依据编译器了,不同的编译器,规定是不一样。

    ANSI标准定义int是占2个字节,TC是按ANSI标准的,它的int是占2个字节的。

    可是在VC里,一个int是占4个字节的



  • 相关阅读:
    判断手机使用网络wifi 2G 3G
    Java基本数据类型
    Java中long和Long的区别
    java switch(表达式)中表达式的类型
    SESSION的知识
    Java对象的强、软、弱和虚引用
    java中链表的数据(对象)位置交换
    Android 建立AIDL的步骤
    HashMap和HashSet的相同点和不同点
    以太网帧最小帧长与最大帧长
  • 原文地址:https://www.cnblogs.com/bhlsheji/p/5360484.html
Copyright © 2011-2022 走看看