字符串-->字节数组,请教各位了,谢谢 data!=date这样处理String 不太好。再看看书吧。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 data ------- date 一个中文字符占字节数2,但str.length表示其长度却还是1,所以你的问题“另外test串里有中文字符,在取长度的时候又该怎么得到字符串转换到字节数组的正确长度?”是不能通过test.length()或者test.getBytes();转换来得到的。需要自己写转换class。下面我给你一个:其中pStrSource是目标字串,pbArDest是用来存放结果的目标数组,piStartPos是字串开始转换处,返回值是转换成数组的字节个数(一个byte即占一个字节)public class StrToByCN {//包含中文 public static int strTobytes(String pStrSource,byte[] pbArDest,int piStartPos) { if(piStartPos<0 || pbArDest == null)//起始点和目标数组 return 0; byte[] bArTemp = pStrSource.getBytes(); int iNormalLen = bArTemp.length; if(pbArDest.length < piStartPos+iNormalLen) return 0; for(int i=0;i<iNormalLen;i++) pbArDest[piStartPos+i] = bArTemp[i]; return (iNormalLen); }} 你的变量名错了datetrans改为datatrans一个中文字符占字节数2,但str.length表示其长度却还是1,所以你的问题“另外test串里有中文字符,在取长度的时候又该怎么得到字符串转换到字节数组的正确长度?”在转换前是无法知道的,只能通过test.getBytes();后取数组的长度 兄弟,仔细些,你的datetrans应该改为datatrans !同意楼上的说法 “通过test.getBytes();后取数组的长度”得到字符串转换到字节数组的正确长度,别试图用String 的length()方法得到,我测试过了的。 test="大家好~abc~吃了吗?~123";test.length() = 16test.getBytes().length = 22 跪求大牛 递归调用初学的 小伟谢谢你们了 Java与数学的问题 关于Java的一点小问题 更改想部署位置 关于串口的小问题! 100分急救%¥¥#◎¥……StyledDocument…… ?请帮忙看看,对你来说小事,对我来说枯木逢春。 紧急求救!关于用SWING编写文本编辑器。 请问 List的生命周期是怎么样的? 急!请问北京哪里能买到SL275教材? 菜鸟问题:请大家用简单的代码描述一下,如何利用接口实现多重继承! 面试问题,求解
“另外test串里有中文字符,在取长度的时候又该怎么得到字符串转换到字节数组的正确长度?”
是不能通过test.length()或者test.getBytes();转换来得到的。需要自己写转换class。下面我给你一个:
其中pStrSource是目标字串,pbArDest是用来存放结果的目标数组,piStartPos是字串开始转换处,返回值是转换成数组的字节个数(一个byte即占一个字节)
public class StrToByCN {//包含中文
public static int strTobytes(String pStrSource,byte[] pbArDest,int piStartPos) {
if(piStartPos<0 || pbArDest == null)//起始点和目标数组
return 0;
byte[] bArTemp = pStrSource.getBytes();
int iNormalLen = bArTemp.length;
if(pbArDest.length < piStartPos+iNormalLen)
return 0;
for(int i=0;i<iNormalLen;i++)
pbArDest[piStartPos+i] = bArTemp[i];
return (iNormalLen);
}
}
一个中文字符占字节数2,但str.length表示其长度却还是1,所以你的问题
“另外test串里有中文字符,在取长度的时候又该怎么得到字符串转换到字节数组的正确长度?”
在转换前是无法知道的,
只能通过test.getBytes();后取数组的长度
同意楼上的说法 “通过test.getBytes();后取数组的长度”得到字符串转换到字节数组的正确长度,别试图用String 的length()方法得到,我测试过了的。
test.getBytes().length = 22