A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

public void SubString(String str , int byteNum)
        {
                //将字符串拆成byte型数组
                byte[] bt = str.getBytes();
                //如果需要截取的字符长度大于等于1
                if(byteNum >= 1)
                {
                        //如果截取的字节数小于零
                        if(bt[byteNum] < 0)???????
                        {
                                //运用String构造方法,通过使用平台的默认字符集解码指定的 byte子数组,将长度减一
                                String substrx = new String(bt, 0 , --byteNum);
                                System.out.println(substrx);
                        }



求解释:一堆“???” 处 (if(bt[byteNum] < 0)应该怎样理解?

评分

参与人数 1技术分 +1 收起 理由
简★零度 + 1

查看全部评分

2 个回复

倒序浏览
str.getBytes(),是按照指定的编码方式奖字符串进行编码(这里是默认),即将字符串编码成字节数组,if(bt[byteNum] < 0),表示的是进行编码之后,判断某一字节的码值是否为负值。例如GBK编码中,对中文编码后的每个字节编码值就为负值

评分

参与人数 1技术分 +1 收起 理由
滔哥 + 1

查看全部评分

回复 使用道具 举报
kongling 发表于 2013-12-4 18:27
str.getBytes(),是按照指定的编码方式奖字符串进行编码(这里是默认),即将字符串编码成字节数组,if(bt  ...

  恩恩 谢谢你的回复哈  
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马