gongxuxuxuxux 2010-03-18 10:57
浏览 253
已采纳

关于字符编码中遇到的问题

  1. 如果一个10进制数的2进制码超过了8位(一字节)
    比如说324的2进制码为 :101000100. 那么在内存中.324占的空间是2字节还是1字节?
    如果是按2字节来存储. 那么是写成 000000101000100 还是 101000100 ?

  2. UNICODE 编码的字符 '严' 对应的UNICODE 的16进制编码是 '4e25'.
    那么内存中 存的对应的2进制码是 0100,1110,0010,0101 还是 1001110, 100101 还是 100,111,10,101. 我的意思'严'字的
    2进制码应的字符串表现形式是啥?

  3. code 1:
    byte [] sz1= new byte ["严".getBytes("UNICODE").length];
    sz1="严".getBytes("UNICODE");
    for (byte b : sz1)
    {
    // unicode编码 : 0100,1110,0010,0101 4E25
    System.out.println("该字节存的十进制数str是 : " + b);
    System.out.println("该字节代表的2进制数str是 : "+ (Integer.toBinaryString(b)+""));
    System.out.println("该字节对应的16进制数是 : U+"+ (Integer.toHexString(b)+""));
    }
    1).执行上面的代码发现. code 1 打印的 sz1 中第一条 和 第二条的值是 '1','10' .请问 '1' 和 '10'
    是用来标示的吗?

2).code1 打印的第3条和第4条的值 是 '25','4E' 刚好与'严'的unicode编码'4e25'相反.朋友说原因是
'大小端显示的顺序不同' 我不太理解这句话.谁能用通俗的话解释下吗?

  • 写回答

2条回答 默认 最新

  • iteye_13500 2010-03-18 11:00
    关注

    [code="java"]1.
    如果一个10进制数的2进制码超过了8位(一字节)
    比如说324的2进制码为 :101000100. 那么在内存中.324占的空间是2字节还是1字节?
    如果是按2字节来存储. 那么是写成 000000101000100 还是 101000100 ? [/code]

    看你设置的类型,如果是Integer(int)型,在java里面都是32位。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog