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条)

报告相同问题?

悬赏问题

  • ¥60 请查询全国几个煤炭大省近十年的煤炭铁路及公路的货物周转量
  • ¥15 请帮我看看我这道c语言题到底漏了哪种情况吧!
  • ¥66 如何制作支付宝扫码跳转到发红包界面
  • ¥15 pnpm 下载element-plus
  • ¥15 解决编写PyDracula时遇到的问题
  • ¥15 有没有人能解决下这个问题吗,本人不会编程
  • ¥15 plotBAPC画图出错
  • ¥30 关于#opencv#的问题:使用大疆无人机拍摄水稻田间图像,拼接成tif图片,用什么方法可以识别并框选出水稻作物行
  • ¥15 Python卡尔曼滤波融合
  • ¥20 iOS绕地区网络检测