当前页面: 开发资料首页 → J2ME 专题 → 崩溃! string的问题,一晚上没搞定! 我倒!
崩溃! string的问题,一晚上没搞定! 我倒!
摘要: 崩溃! string的问题,一晚上没搞定! 我倒!
byte []b=new byte[1500];
.......//对b进行操作,放进去数据
String str=new String(b);
大家猜猜str的长度应该是多少?
正常的话应该少于1500, 因为在处理时字母和数字每个字节(1 byte)转换成一个字符(2 byte),b中有中文的话每两个字节转换成一个字符,所以得到的str字符个数应该少于1500
我用j2se的编译器得到的是正确结果, 可是用j2me的编译器得到的结果居然是str中有2396个字符! 我看了一下str对象中的字符数组内容,发现数组前半部分是正确结果,后面部分多出来的字符全都是/u0000
问题到底在哪里?这些讨厌的/u0000是从哪里出来的? 搞了一晚上,在j2se 和j2me编译器中徘徊,崩溃了 ,请大家帮帮忙。我用jbuilder10做的试验。
UTF-8编码,自己看下相关文档
没错 Unicode编码,就是长很多。
那有没有解决办法啊,难道必须自己编程去掉末尾的/u0000?不难是不难,就是太别扭了
还有个奇怪的问题 ,String s=new String(b,"UTF-8"); b是个byte[], 在jbuilder10中运行抛出异常,但是打包在真实手机上可以正常运行。