在将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
它看起来正确但不是我需要的。
我错过了什么吗?一些建议会有很大帮助。
答案 0 :(得分:3)
我认为没有真正的等价物。
Java有一个Format
- 类,如果你想看一下。
function:Integer.toHexString((int)chr)
这是正确的方法,所以应该是这样。