【问题标题】:C: Using hexadecimal to represent UTF-8 (like Euro)C:使用十六进制表示 UTF-8(如 Euro)
【发布时间】:2017-06-11 12:58:34
【问题描述】:

我是 C 世界的新手,请耐心等待。我已经到处寻找答案,但还没有清楚地理解它。

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

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

我的程序背后的想法是接受用户输入(例如 100 欧元)并将其转换为不同的货币。所以区分货币符号是我手头的主要问题。除了我尝试过的方法之外,还有其他方法可以解决这个问题吗?

【问题讨论】:

标签: c utf-8 binary hex symbols


【解决方案1】:

基本上可以用3个char表示。

所以你可以这样做。

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

输出:

str: "€"

【讨论】:

  • 这并没有我想象的那么复杂。非常感谢
猜你喜欢
  • 1970-01-01
  • 2020-02-06
  • 2014-08-07
  • 2012-05-10
  • 2015-12-06
  • 1970-01-01
  • 2012-06-27
  • 1970-01-01
  • 2012-09-08
相关资源
最近更新 更多