【问题标题】:How can i append '\u' to a number and save the result in a char variable?如何将 '\u' 附加到数字并将结果保存在 char 变量中?
【发布时间】:2019-04-09 04:40:40
【问题描述】:

所以我有一堆代表 Unicode 代码的数字,例如:

int a = 6543

我想在开头添加一个'\u',然后将结果保存在一个这样的char变量中(所以在得到这个\u+6543的结果后我想把它保存在一个char变量中):

char b = '\u6543';

【问题讨论】:

  • 请注意,您想预先添加,但无论如何您是否尝试过仅使用char b = (char) a

标签: java unicode char


【解决方案1】:

字符 '\u6543' 具有数值 0x6543(即十六进制的 6543)。

因此,要将数值分配给 char,您应该这样写:

char a = 0x6543;

如果必须将int6543 转换为对应的char0x6543,则可以转换为String,然后将String 解析为十六进制数:

int a = 6543;
char b = (char)Integer.parseInt(Integer.toString(a),16);

你会看到:

System.out.println (b=='\u6543');

打印true

当然,您只能对不包含数字 af 的 Unicode 值执行此转换,因为例如,您不能将值 00a7 存储在 int 中变量(除非您添加 0x 前缀,但您不需要任何转换)。

【讨论】:

  • 如何循环执行此操作?
  • @TheHaruWhoCodes 循环执行什么操作?
【解决方案2】:

在“C”中我们会说:sprintf('\\u%d', i);

您在这里要求的是文字字符串\u,后跟以数字形式表示的某个整数变量的字符串。

那么,现在就去做“Java-speak”中的事情吧。

【讨论】:

    猜你喜欢
    • 2021-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-25
    • 1970-01-01
    • 2011-11-24
    • 2018-11-19
    • 1970-01-01
    相关资源
    最近更新 更多