求助!怎样把字符转换字节数组??? 有没有把字符转化为字节数组地方法呀??比如:char a = 's'有没有方法把a 转化为 byte b[]....注意是字符不是字符串 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 一楼的误会了 ,我没说清楚。是这样:由于服务器端和客户端数据接收有错误,所以我需要将待发送字符串中的字符挨个取出,按UTF-8打成字节数组,当字节数组的长度大于一时,当前字符即为汉字或特殊字符,则每个字节的值不变;如果字符被打成字节数组的长度等于一,则为ASCII范围内字符,字节值就减去256。这样接收端才能识别。 我表达的有点乱,不知你看懂了没? 你可以把每个字符取出,然后String.valueOf(a).getBytes(Charset charset)获取为utf-8字节数组,然后判断处理 或者getBytes(String charsetName) 可以先用String的方法toCharArray()转为字符数组,然后对字符数组中每个元素使用String.valueOf(char).getBytes(Charset charset)或String.valueOf(char).getBytes(String charsetName) 进行处理 JDK STRING类函数public byte[] getBytes(Charset charset) { if (charset == null) throw new NullPointerException(); return StringCoding.encode(charset, value, offset, count); } 我好弱,还是没弄懂,这样吧,我把原帖贴出来,帮我看看怎么办?:现在做的项目使用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范围内字符,字节值不变。问题很简单,关键是不知怎没处理,谁能帮我把方法代码写出来??? java新手,之前写的socket的测试程序,可以连上,不知道现在就不可以了 我有一组图片 如何播放成动画 mappedbytebuffer缓冲区的大小和位置能不能改变? 请问各位师兄,这堆错什么意思啊? applet可以做哪些事情 怎样规范学习java swing的设置背景问题 一个不是环境变量配置的底层配置问题,不是大侠就不要进来了, 我想用 java + SqlServer 开发一个单机的学生管理系统,但是无从下手.大家帮帮我啊! 请问JBuild有7。0中文版么??有6.0中文版么??? 文件路径不对? java 根据未知序列生成多叉树
一楼的误会了 ,我没说清楚。是这样:由于服务器端和客户端数据接收有错误,所以
我需要将待发送字符串中的字符挨个取出,按UTF-8打成字节数组,当字节数组的长度大于一时,当前字符即为汉字或特殊字符,则每个字节的值不变;如果字符被打成字节数组的长度等于一,则为ASCII范围内字符,字节值就减去256。这样接收端才能识别。 我表达的有点乱,不知你看懂了没?
public byte[] getBytes(Charset charset) {
if (charset == null) throw new NullPointerException();
return StringCoding.encode(charset, value, offset, count);
}
现在做的项目使用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范围内字符,字节值不变。
问题很简单,关键是不知怎没处理,谁能帮我把方法代码写出来???