我的JAVA通过JNI与后台C程序通讯。
所以C接收的是char *buff;
而JAVA中我发送的是String类型。它是UNICODE的,怎么办呢?

解决方案 »

  1.   

    在c语言层用
    jni 中有GetStringChars();
    windows api:
    MultiByteToWideChar();
    WideCharToMultiByte();就上面这3个函数就可以解决这类所有问题,不过要注意你的C用的是Unicode还是Mbcs
    以及是采用缺省编码方式还是指定的编码方式(比如UTF-8,GBK,等等)否则是乱码
      

  2.   

    to bigc2000(公元2005年4月9日) :
    我是没分了。有分一定给你的。我不是在WINDOWS上写C。是在UNIX上的。所以没有这两个转换函数。那如果我一定要传String呢?