有没有把字符转化为字节数组地方法呀??
比如:
char a = 's'
有没有方法把a 转化为 byte b[]....注意是字符不是字符串

解决方案 »

  1.   


    一楼的误会了 ,我没说清楚。是这样:由于服务器端和客户端数据接收有错误,所以
    我需要将待发送字符串中的字符挨个取出,按UTF-8打成字节数组,当字节数组的长度大于一时,当前字符即为汉字或特殊字符,则每个字节的值不变;如果字符被打成字节数组的长度等于一,则为ASCII范围内字符,字节值就减去256。这样接收端才能识别。 我表达的有点乱,不知你看懂了没?
      

  2.   

    你可以把每个字符取出,然后String.valueOf(a).getBytes(Charset charset)获取为utf-8字节数组,然后判断处理
      

  3.   

    或者getBytes(String charsetName) 
      

  4.   

    可以先用String的方法toCharArray()转为字符数组,然后对字符数组中每个元素使用String.valueOf(char).getBytes(Charset charset)或String.valueOf(char).getBytes(String charsetName) 进行处理
      

  5.   

    JDK STRING类函数
    public byte[] getBytes(Charset charset) {
    if (charset == null) throw new NullPointerException();
    return StringCoding.encode(charset, value, offset, count);
        }
      

  6.   

    我好弱,还是没弄懂,这样吧,我把原帖贴出来,帮我看看怎么办?:
    现在做的项目使用jsr172包来调用服务器的Webservice(.net搭建)。public String sendMessage(String message)   有一个这样的方法。当传入参数message为中文时,服务器端接收到的就是乱码,但该方法却能正常返回中文机型是nokia n95,查询到的手机系统编码是:iso-8859-1,服务器端的编码方式为UTF-8。我尝试过在手机端将字符串用iso-8859-1打成字节数组,然后用UTF-8组成新字符串,如: message=new String(message.getBytes("iso-8859-1"),"UTF-8"); 服务器端收到的也一样是乱码。
    解决方案:
    中文或特殊字符(不在ASCII范围内): j2me端的字节数组与服务器端.net环境下的字节数组,每一个字节都相差256。英文或数字(在ASCII范围内): 一个字符就是一个字节, j2me端与.net服务器端值一样。
    找到这个规律,就可以解决问题:j2me端在发送前,将待发送字符串中的字符挨个取出,按UTF-8打成字节数组,当字节数组的长度大于一时,当前字符即为汉字或特殊字符,则每个字节的值+256;如果字符被打成字节数组的长度等于一,则为ASCII范围内字符,字节值不变。
    问题很简单,关键是不知怎没处理,谁能帮我把方法代码写出来???