Java中的C#.ToString(";X4";)等效项

Java中的C#.ToString(";X4";)等效项,c#,java,string,unicode,C#,Java,String,Unicode,在将字符串转换为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"); uc

在将字符串转换为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);
这给了我
4e6f7469636573
它看起来是正确的,但不是我所需要的


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

我认为没有真正的等效方法。 Java有一个
格式
-类,如果您想看一下的话

function:Integer.toHexString((int)chr)

这是正确的方法,应该是这样

这不是一个用00填充每个
chrCode
并转换成大写的问题吗?@thumbmunkeys:谢谢,是的,正确。虽然,这可以解决问题,但被称为变通方法,而不是真正的等效方法。:-)我将其称为解决方案:)事实上,它解决了问题,为什么不呢。解决方案:格式化字符串或只是将其串联为“00”+字符串。toUpperCase()的工作原理相同。谢谢,我不是真正的Java人,但很高兴看到问题解决了。:)我也是,我一直在将以前的C#Net工具重新开发为Java,遇到了几个类似这样的问题。但很明显:——)
function:Integer.toHexString((int)chr)