我很疑惑 为什么java 和 C# 关于 utf-8 对于 数字和英文的输出 保持是一致的,但对于中文的输出是不一致的
这是java 运行环境跑的结果 jdk 版本是 jdk1.8.0
以下是源码
byte[] Number = "1".getBytes("UTF-8");
System.out.print("1的byte数组打印输出: ");
for (int i = 0;i<Number.length;i++){
System.out.print(" "+Number[i]);
}
System.out.println("");
byte[] Zms = "A".getBytes("UTF-8");
System.out.print("A的byte数组打印输出: ");
for (int i = 0;i<Zms.length;i++){
System.out.print(" "+Zms[i]);
}
System.out.println("");
byte[] Hzs = "入".getBytes("UTF-8");
System.out.print("入的byte数组打印输出: ");
for (int i = 0;i<Hzs.length;i++){
System.out.print(" "+Hzs[i]);
}
System.out.println("");
System.out.println("----------------------");
这是C# 的代码的运行效果
用VS2019 跑的
byte[] Number = Encoding.UTF8.GetBytes("1");
Console.Write("1的byte数组打印输出: ");
foreach (byte b in Number)
{
Console.Write(" " + b);
}
Console.WriteLine();
byte[] Zms = Encoding.UTF8.GetBytes("A");
Console.Write("A的byte数组打印输出: ");
foreach (byte b in Zms)
{
Console.Write(" " + b);
}
Console.WriteLine();
byte[] Hzs = Encoding.UTF8.GetBytes("入");
Console.Write("入的byte数组打印输出: ");
foreach (byte b in Hzs)
{
Console.Write(" " + b);
}
我想知道 Java代码中 byte[] Hzs = "入".getBytes("UTF-8"); 该用C# 代码怎么表示 才能让输出保持一致。