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个字节,所以是对的 


  • 相关阅读:
    Linux系统下安装rz/sz命令及使用说明
    Linux 下Beanstalk安装
    Jetty中间件
    JBOSS应用中间件
    IBM 存储高可用HA解决方案和DR连续性解决方案
    Nginx负载均衡与反向代理的配置和优化
    NFS挂载网络存储
    使用集中式身份管理服务详解
    配置链路聚合(端口聚合)
    配置ssh远程访问策略
  • 原文地址:https://www.cnblogs.com/the-wang/p/8638307.html
Copyright © 2011-2022 走看看