C#.ToString(" X4")在Java中是等效的

时间:2014-04-16 10:37:54

标签: c# java string unicode

在将String转换为Unicode时,我正在寻找Java中真正等效的C#.ToString(" X4")。

C#代码:

char[] stringChars = "Notices".ToCharArray();
List<string> ucs2code = new List<string>();
foreach (char chr in stringChars)
{
    string chrCode = ((int)chr).ToString("X4");
    ucs2code.Add(chrCode);
}
string charCode = string.Join("", ucs2code);

它为我提供了 004E006F00740069006300650073 ,这正是我所需要的。

我试过的

Java代码

char[] stringChars = "Notices".toCharArray();
String charCode = "";
for (char chr : stringChars) {
    String chrCode = Integer.toHexString((int)chr);
    charCode += chrCode;
}

这给了我 4e6f7469636573 它看起来正确但不是我需要的。

我错过了什么吗?一些建议会有很大帮助。

1 个答案:

答案 0 :(得分:3)

我认为没有真正的等价物。 Java有一个Format - 类,如果你想看一下。

function:Integer.toHexString((int)chr)

这是正确的方法,所以应该是这样。