【发布时间】:2014-05-31 04:24:16
【问题描述】:
在将 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 它看起来正确,但不是我需要的。
有什么我错过的吗?一些建议会很有帮助。
【问题讨论】:
-
不就是将每个
chrCode填充00 并转换为大写吗? -
@thumbmunkeys:谢谢,没错。虽然,这可以解决问题,但被称为解决方法,而不是真正的等价物。 :-)
-
我称之为解决方案 :)
-
确实解决了问题,何乐而不为。