【问题标题】:What is the value of a Char in java?java中Char的值是多少?
【发布时间】:2015-03-26 23:58:43
【问题描述】:

假设我有一个String。如果我这样做:

    for (int index = 0; index < ch.length(); index++) {
            char c = ch.charAt(index);
            System.out.println(String.format("%04x", (int) c));
    }

输出会是什么?

我尝试了a,得到了0061,这似乎是A 的UTF-8/ASCII 值。 然后我尝试了???? 并得到了d800 dd51,这似乎不是UTF 值。

只是想知道,Java 中 Char 的 int 值是多少。

【问题讨论】:

标签: java encoding utf-8 char


【解决方案1】:

我相信你的 for 循环中的 ch 变量是 String 类型,你想访问其中的每个字符然后将其转换为它的 ascii 值?那么这就是你的代码所做的。我在稍作修正并使用String ch = "abcdef" 后运行它,它给了我输出:

0061
0062
0063
0064
0065
0066

这正是您的打印语句所指示的:

-将字符转换为它的 ascii 值

-输出四字符长值。

如果有帮助,a、b、c、d、e 和 f 的 ascii 值为 61、62、63、64、65 和 66。

【讨论】:

  • 感谢您的回复,但是如果我的字符串中包含ASCII不能表达的字符,喜欢外来字符怎么办?我认为 Sotirios 和 Remy 的 cmets 完美地回答了我的问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-11-24
  • 2021-09-22
  • 2012-09-26
  • 2016-11-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多