编码、解码技术是我们在程序中开发中经常使用到的,对一些敏感信息的存储,比如密码之类的,我们一般是不会直接以明文直接存储到数据库的,而是会通过各种算法,可以是现成的MD5(一种散列算法)、或者是Hash算法+Salt(混淆因子),甚至是自己定义的一套算法进行加解密。这里不想阐述加解密技术,在之前的一篇博客当中,简单列举了两种基本方法,见.NET加解密技术。这里重点讲解一下编码、解码以及乱码的相关问题。
我们先看一个简单的例子:
string str = "abcd";//测试字符串
byte[] bytes = Encoding.GetEncoding("ascii").GetBytes(str);//将字符串转成ascii编码的字节数组,这里的bytes数组,长度为4,分别对应于abcd的ascii码97、98、99、100
string result = Encoding.GetEncoding("ascii").GetString(bytes);//将字节数组转回为字符串
Console.WriteLine(result);//输出abcd这里应用到了ascii编码。我们知道,ascii码是国际标准编码,全称为:美国信息交换标准编码,只能表示127个字符,不能代表汉字,所以我们对汉字进行ascii编码之后,
本文探讨了编码解码在程序开发中的重要性,特别是在处理敏感信息如密码时。着重讲解了Unicode编码的引入以及在解决乱码问题上的思路,即确保两端编码方式一致。举例说明了在Web开发中如何使用HttpUtility.UrlEncode和UrlDecode方法避免乱码,并分享了一个实际项目中解决中文编码问题的经验。
订阅专栏 解锁全文
1179

被折叠的 条评论
为什么被折叠?



