C:用十六进制表示UTF-8(像欧元)
C: Using hexadecimal to represent UTF-8 (like Euro)
我是 C 世界的新手,请多多包涵。我到处搜索这个问题的答案,但还没有弄清楚。
我正在尝试输入和输出,例如,欧元符号 €(扩展字符值)。我想使用十六进制字节组合。对于欧元,它们是: 0xE2, 0x82, 0xAC 。我知道在C++中,你可以简单地使用\u20ac,在C中不是这样。
我试过将十六进制值分配给一个整数,但这对我不起作用。我也尝试过使用欧元符号的十进制值。
我的程序背后的想法是获取用户输入(例如 100 欧元)并将其转换为不同的货币。所以区分货币符号是我手头的主要问题。除了我尝试过的方法,还有其他方法可以解决这个问题吗?
基本上€
可以用3个char
表示。
所以你可以这样做。
char str[] = { 0xE2, 0x82, 0xAC, 0x00 };
printf("str: \"%s\"\n", str);
输出:
str: "€"
我是 C 世界的新手,请多多包涵。我到处搜索这个问题的答案,但还没有弄清楚。
我正在尝试输入和输出,例如,欧元符号 €(扩展字符值)。我想使用十六进制字节组合。对于欧元,它们是: 0xE2, 0x82, 0xAC 。我知道在C++中,你可以简单地使用\u20ac,在C中不是这样。
我试过将十六进制值分配给一个整数,但这对我不起作用。我也尝试过使用欧元符号的十进制值。
我的程序背后的想法是获取用户输入(例如 100 欧元)并将其转换为不同的货币。所以区分货币符号是我手头的主要问题。除了我尝试过的方法,还有其他方法可以解决这个问题吗?
基本上€
可以用3个char
表示。
所以你可以这样做。
char str[] = { 0xE2, 0x82, 0xAC, 0x00 };
printf("str: \"%s\"\n", str);
输出:
str: "€"