欢迎光临
我的个人博客网站

字符串转换注意编码

就如同浮点数转换会出现精度丢失一样,字节与字符串的转换也会出现自作聪明的结局,虽然看起来一样,但未必 是你喜欢的那个人了

@@@code

var 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(“-“, ” “));

 

@@@

   

输出结果

@@@code

xh?????? 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

@@@

赞(0) 打赏
未经允许不得转载:张拓的天空 » 字符串转换注意编码
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

专业的IT技术经验分享 更专业 更方便

联系我们本站主机

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏