C:使用十六进制表示UTF-8(如欧元)

时间:2017-01-26 04:36:24

标签: c utf-8 binary hex symbols

我是C世界的新人,所以请耐心等待。我已经高低搜索了这个答案,但还没有清楚地理解它。

我正在尝试输入和输出,例如,欧元符号(扩展字符值)。我想使用十六进制字节组合。对于欧元,它们是:0xE2,0x82,0xAC。据我所知,在C ++中,您可以简单地使用\ u20ac,而在C中则不是这样。

我尝试将十六进制值分配给int,但这对我不起作用。我也尝试使用欧元符号的十进制值。

我的计划背后的想法是获取用户输入(例如€100)并将其转换为其他货币。因此区分货币符号是我手头的主要问题。还有其他方法可以解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

基本上可以用3 char代表。

所以你可以这样做。

char str[] = { 0xE2, 0x82, 0xAC, 0x00 };
printf("str: \"%s\"\n", str);

输出:

  

str:“€”