其实可以,使用DataOutputStream.writeChars(string)方法把中文字符按unicode传传过去后,服务端的mfc程序必须将接受到的16位unicode字符的高位字节和低位字节交换位置,然后再
调用函数WidechartoMultibyte()将unicode转换为正常的编码方式。

解决方案 »

  1.   

    可以不用UniCode,这样可以避免和机器相关的大数端-小数端方式转换。
    String的一个方法getBytes(String enc)可以将UniCode字符串用制定的字符集编码为字节串。
    String的一个构造器String(byte[] bytes,String enc)可以反向解码。
    在服务端就用Ansi方式处理即可。
    我就是这么做的,这样做的一个好处是简单,另一方面服务程序移植到Unix上时代码仍然有效。