Random().NextBytes() 后的数组 为什么转为string 会 乱码 急急急!

敌敌畏耶 2013-07-24 06:12:26
byte[] test = new byte[16];
new Random().NextBytes(test);
Console.WriteLine(System.Text.Encoding.UTF8.GetString(test, 0, 16));


我已经试过所有的编码了 UTF8/7Default、gb2···等等等等···都是乱码 为什么?
...全文
198 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
本拉灯 2013-07-24
  • 打赏
  • 举报
回复
引用 楼主 yuekunge 的回复:
byte[] test = new byte[16]; new Random().NextBytes(test); Console.WriteLine(System.Text.Encoding.UTF8.GetString(test, 0, 16)); 我已经试过所有的编码了 UTF8/7Default、gb2···等等等等···都是乱码 为什么?
请百度打印字符与非打印字符的Ascii码 打印的好像是从32-127吧
tcmakebest 2013-07-24
  • 打赏
  • 举报
回复
因为不是所有的 byte 都可以转成 string,一般情况下,是把 byte 转成16进制的表示形式比较常用,这样: BitConverter.ToString(test)

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧