我现在有个工程需要用java调用dll接口,我需要传递参数给dll接口,我先声明一个指针Pointer pStr = new Pointer(MemoryBlockFactory.createMemoryBlock(1024*100000)); 然后放入数据,这个数据大概有4K,
pStr.setStringAt(0, str); 然后我再取出这个数据: String str2 = pStr.getAsString();
惊奇的发现 取回的数据 总会丢掉 原来数据的 最后 几个字节的数据, 比如 如果 str = "<?xml version=\"1.0\" encoding=\"gb2312\"?><ctx><Success>1</Success><tree></tree></ctx>";
str2 可能就是"<?xml version=\"1.0\" encoding=\"gb2312\"?><ctx><Success>1</Success>, 为什么呢,不管我传多大的数据,总会丢掉后面的数据、哪位高手遇到过啊?很急!!!!!!!!!
pStr.setStringAt(0, str); 然后我再取出这个数据: String str2 = pStr.getAsString();
惊奇的发现 取回的数据 总会丢掉 原来数据的 最后 几个字节的数据, 比如 如果 str = "<?xml version=\"1.0\" encoding=\"gb2312\"?><ctx><Success>1</Success><tree></tree></ctx>";
str2 可能就是"<?xml version=\"1.0\" encoding=\"gb2312\"?><ctx><Success>1</Success>, 为什么呢,不管我传多大的数据,总会丢掉后面的数据、哪位高手遇到过啊?很急!!!!!!!!!
str = " <?xml version=\"1.0\" encoding=\"gb2312\"?> <ctx> <Success>1 </Success> <tree>11111111111111111111111122222222222222222222</tree> </ctx>";这样就又没问题! 怀疑是 中间的数据 有什么特殊的编码 我中间的数据是这样的:<t><r>fe_0/1/126_10433-fec_0/1/126_10433_613;Camera 05;I12</r><r>fe_0/1/126_10435-fec_0/1/126_10435_624;Camera 05;I12</r><r>fe_0/1/126_10435-fec_0/1/126_10435_629;Camera 06;I12</r><r>fe_0/1/126_10433-fec_0/1/126_10433_611;Camera 06;I12</r><r>fe_0/1/126_10433-fec_0/1/126_10433_619;Camera 07;I12</r><r>fe_0/1/126_10435-fec_0/1/126_10435_628;Camera 07;I12</r><r>fe_0/1/126_10433-fec_0/1/126_10433_621;Camera 08;I12</r><r>fe_0/1/126_10435-fec_0/1/126_10435_622;Camera 08;I12</r><r>fe_0/1/126_10433-fec_0/1/126_10433_610;Camera 09;I12</r><r>fe_0/1/126_10433-fec_0/1/126_10433_620;Camera 10;I12</r><r>fe_0/1/126_10433-fec_0/1/126_10433_616;Camera 11;I12</r><r>fe_0/1/126_10433-fec_0/1/126_10433_609;Camera 12;I12</r><r>fe_0/1/126_10433-fec_0/1/126_10433_618;Camera 13;I12</r><r>fe_0/1/126_10433-fec_0/1/126_10433_617;Camera 14;I12</r><r>fe_0/1/126_10433-fec_0/1/126_10433_612;Camera 15;I12</r><r></t> 这样的数据会有什么问题呢?