黑马程序员技术交流社区

标题: 字符串转换成字节数组的问题 [打印本页]

作者: 328078121    时间: 2013-8-30 10:56
标题: 字符串转换成字节数组的问题
将一个字符串转换成字节数组之后,再通过Integer对象转换成二进制码,只有七位,而不是八位?怎么解决只有七位的问题,在开头添加0吗?
作者: 月黑风高    时间: 2013-8-30 14:19
        public static void main(String[] args) {
                /*
                 * s共有4个字节,“你”占有两个字节,在GB2312编码表中记录着中文和二进制的关系。
                 * ASCII是美国的编码表,而GB2312就是按照一个中文两个字节的方式编码的。
                 */
                String s="abc你好";
                byte[] bytes=s.getBytes();
                for (int i = 0; i < bytes.length; i++) {
                        System.out.print(bytes[i]+" ");
                        System.out.println(Integer.toBinaryString(bytes[i]));
                }
                /* 打印结果:正数的高位是0,默认省略不显示。
                 * 97 1100001
                 * 98 1100010
                 * 99 1100011
                 * -60 11111111111111111111111111000100
                 * -29 11111111111111111111111111100011
                 * -70 11111111111111111111111110111010
                 * -61 11111111111111111111111111000011
                 */
        }


作者: 杨增坤    时间: 2013-9-5 20:36
楼主 你的问题如果解决了!



请把您的问题的"未解决"更改为"已解决"!



谢谢合作!







欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2