为什么字节数组和字符串之间转换用ASCII编码出现乱码?求大虾解释!
stringstr="发送成功!";byte[]test=System.Text.Encoding.ASCII.GetBytes(str);stringresult=Sy...
string str = "发送成功!";
byte[] test = System.Text.Encoding.ASCII.GetBytes(str);
string result = System.Text.Encoding.ASCII.GetString(test);
Console.WriteLine("result:{0}\n", result);
Console.ReadLine();
运行结果:???? 展开
byte[] test = System.Text.Encoding.ASCII.GetBytes(str);
string result = System.Text.Encoding.ASCII.GetString(test);
Console.WriteLine("result:{0}\n", result);
Console.ReadLine();
运行结果:???? 展开
2个回答
展开全部
.NET中字符串是Unicode的,又不是ASCII的
但是,虽然编码不一致导致转换到ASCII会破坏原有数据所表征的信息,但其他编码转换到ASCII也还是不会报错,因为其他编码至少是一个字节,而ASCII是单字节的编码,可惜的是ASCII并非所有字符都能显示,ASCII中出了a-zA-Z0-9之外还有控制字符如回车、换行等,这才是导致乱码的原因
摘自MSDN:
NET Framework 使用 Char 结构表示 Unicode 字符。Unicode 标准使用称为码位的唯一的 21 位标量数字标识每个 Unicode 字符,并定义了 UTF-16 编码格式,这一格式指定如何将码位编码为一个或多个 16 位值的序列。每个 16 位值的范围为十六进制的 0x0000 到 0xFFFF,并存储在 Char 结构中。Char 对象的值是其 16 位数字(序号)值。
String 对象是 Char 结构的序列集合,用于表示文本字符串。多数 Unicode 字符可由一个 Char 对象表示,但编码为基字符、代理项对和/或组合字符序列的字符由多个 Char 对象表示。因此,String 对象中的 Char 结构不一定与单个 Unicode 字符等效。
但是,虽然编码不一致导致转换到ASCII会破坏原有数据所表征的信息,但其他编码转换到ASCII也还是不会报错,因为其他编码至少是一个字节,而ASCII是单字节的编码,可惜的是ASCII并非所有字符都能显示,ASCII中出了a-zA-Z0-9之外还有控制字符如回车、换行等,这才是导致乱码的原因
摘自MSDN:
NET Framework 使用 Char 结构表示 Unicode 字符。Unicode 标准使用称为码位的唯一的 21 位标量数字标识每个 Unicode 字符,并定义了 UTF-16 编码格式,这一格式指定如何将码位编码为一个或多个 16 位值的序列。每个 16 位值的范围为十六进制的 0x0000 到 0xFFFF,并存储在 Char 结构中。Char 对象的值是其 16 位数字(序号)值。
String 对象是 Char 结构的序列集合,用于表示文本字符串。多数 Unicode 字符可由一个 Char 对象表示,但编码为基字符、代理项对和/或组合字符序列的字符由多个 Char 对象表示。因此,String 对象中的 Char 结构不一定与单个 Unicode 字符等效。
参考资料: http://msdn.microsoft.com/zh-cn/library/system.string.aspx
展开全部
MD5 加密的 理论上是破解不来的
因为它有不同的函数加密方式
你可以试试,
注意,并不是破解了,而是靠多年的积累,把已经存在的乱码所对应的具体数据存储了,如果你输入的MD5 它存储了 ,那么就可以找到
不过也不一定对,因为 MD5的函数千变万化
。。。
连接错了,
是这个
任何转换工具 都不可能破解的
所谓的破解 是他们有这个16位的码存在他们数据库,正好与你的码对应,还是如上,对应了也不一定就正确破解,因为可能是不同的函数
因为它有不同的函数加密方式
你可以试试,
注意,并不是破解了,而是靠多年的积累,把已经存在的乱码所对应的具体数据存储了,如果你输入的MD5 它存储了 ,那么就可以找到
不过也不一定对,因为 MD5的函数千变万化
。。。
连接错了,
是这个
任何转换工具 都不可能破解的
所谓的破解 是他们有这个16位的码存在他们数据库,正好与你的码对应,还是如上,对应了也不一定就正确破解,因为可能是不同的函数
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询