gpt4 book ai didi

java - 欧元符号 JNA 转换问题

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:26:20 25 4
gpt4 key购买 nike

我试图将欧元符号放入以这种方式传递给 native 函数(使用 JNA)的 Java 字符串中:

/*JAVA*/
String s= new String("Euro symbol=€");

nativefunction(s.getBytes(US-ASCII));


/*C++*/
void nativefunction(char *s)
{
printf("%s",s);
}

native 函数输出:Euro symbol=?

为什么符号打印为 ? 而不是

我也试过使用欧元符号的ascii码(\0x80) 但结果是一样的。

最佳答案

US-ASCII 不包含欧元字符。也许您指的是 Windows-1252,如果是这样,请使用:

nativefunction(s.getBytes("Windows-1252")); 

如果还是不行,尝试在Java代码中使用Unicode转义序列:

String s= new String("Euro symbol=\u20ac");  

如果它适用于\u20ac但不适用于,则需要配置源代码编码。

关于java - 欧元符号 JNA 转换问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5377063/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com