站内搜索: 请输入搜索关键词

当前页面: 开发资料首页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中运行抛出异常,但是打包在真实手机上可以正常运行。


↑返回目录
前一篇: 专家来:程序中怎么判断手机是用CMNET还是CMWAP连接网络的?
后一篇: jbuilder06 异常