我有一个Java应用程序,我希望在其中调用另一个C ++应用程序。 为此,在我的Java中我打电话
Runtime.exec(args)
我的arg是“HelloWorldèçàœ”。
当我的C ++收到这个arg时,它将其视为“HelloWorld ????”。我查看了记忆地图,字符èçàœ显示为3f 3f 3f 3f。
(另外,我不确定这是否相关,但是当我编译我的C ++时,我选择了选项:“字符集=使用多字节字符集”(在Properties-> General中)。)
问:我怎样才能将这样的param从Java传递给C ++?由于
答案 0 :(得分:0)
这可能是因为你在双方使用的编码。尝试确保您的“args”在Java中存储为UTF-8字符串,并尝试在C ++代码中读取为UTF-8字符串。
Othewise Java使用平台的默认编码,甚至可能不支持这些“èçàœ”字符。