就如同浮點數轉換會出現精度丟失一樣,位元組與字串的轉換也會出現自作聰明的結局,雖然看起來一樣,但未必 是你喜歡的那個人了
@@@codevar bs = new byte[16]
{
120,
104,
0,
0,
0,
0,
0,
0,
32,
65,
57,
16,
132,
54,
151,
87
};
string s = Encoding.UTF8.GetString(bs);
var cs = Encoding.UTF8.GetBytes(s);
Console.WriteLine(s);
Console.WriteLine(Encoding.UTF8.GetString(cs));
Console.WriteLine(BitConverter.ToString(bs).Replace("-"," "));
Console.WriteLine(BitConverter.ToString(cs).Replace("-", " "));
Console.WriteLine(BitConverter.ToString(Encoding.ASCII.GetBytes(Encoding.ASCII.GetString(bs))).Replace("-", " "));
@@@
輸出結果
@@@codexh?????? A9?6?W
xh?????? A9?6?W
78 68 00 00 00 00 00 00 20 41 39 10 84 36 97 57
78 68 00 00 00 00 00 00 20 41 39 10 EF BF BD 36 EF BF BD 57
78 68 00 00 00 00 00 00 20 41 39 10 3F 36 3F 57
@@@
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/233318.html
標籤:.NET技术
