zoukankan      html  css  js  c++  java
  • 中文编码问题

        char foo='中';
    Java语言中,中文字符所占的字节数取决于字符的编码方式,一般情况下,
        采用ISO8859-1编码方式时,一个中文字符与一个英文字符一样只占1个字节;
        采用GB2312或GBK编码方式时,一个中文字符占2个字节;
        采用UTF-8编码方式时,一个中文字符会占3个字节。

    在C++中 

    在C++中,char是基础数据类型,8位,1个字节。byte不是基础数据类型,一般是typedef unsigned char byte;这样子的,也就是说,byte其实是unsigned char类型,那么也是8位,1个字节。不同的是,char可以表示的范围是-128-127,而byte可以表示的范围是0-255。 

    在Java中 

    在java中,char和byte都是基础数据类型
            byte和C++中的char类型是一样的,8位,1个字节,-128-127。
            但是,char类型,是16位,2个字节, 'u0000'-'uFFFF'。 

    为什么java里的char是2个字节? 

    因为java内部都是用unicode的,所以java其实是支持中文变量名的,比如string 世界 = "我的世界";这样的语句是可以通过的。 

    综上,java中采用GB2312或GBK编码方式时,一个中文字符占2个字节,而char是2个字节,所以是对的 


  • 相关阅读:
    PDO 数据访问抽象层
    递归例子
    Windows对象操作:浏览器窗口信息
    练习题:选择器和选择好友
    搭建wamp环境,数据库基础知识
    堆表空间管理
    vc弹出USB的方法. 附试验通过的代码!
    javascript 调用C++函数
    [转]在Win7 64位注册ActiveX控件
    SetForegroundWindow的正确用法
  • 原文地址:https://www.cnblogs.com/the-wang/p/8638307.html
Copyright © 2011-2022 走看看