我正在尝试在Java字符串中插入欧元符号,并以以下方式将其传递给本地函数(使用JNA):
/*JAVA*/
String s= new String("Euro symbol=€");
nativefunction(s.getBytes(US-ASCII));
/*C++*/
void nativefunction(char *s)
{
printf("%s",s);
}
本地函数输出:欧元符号=?
为什么会打印出?
而不是€
。
我还尝试使用欧元符号的 ASCII 码(\0x80
),但结果仍然相同。