直接在vs2015里面硬编码一个string如string="123456",传入函数
然后sha加密取base64值
发现分别用Encoding.UTF8.GetBytes和Encoding.Unicode.GetBytes解码string后使用的结果不一样.
可只涉及到ascii值的话utf8和unicode值应该一样吧?怎么会结果不同?
直接在vs2015里面硬编码一个string如string="123456",传入函数
然后sha加密取base64值
发现分别用Encoding.UTF8.GetBytes和Encoding.Unicode.GetBytes解码string后使用的结果不一样.
可只涉及到ascii值的话utf8和unicode值应该一样吧?怎么会结果不同?
不一样啊
unicode 是定长编码,每个字符都是16位
utf-8 是变长编码,可能是 8位 - 32位不等
对于 ascii 的值来说,utf-8 都是8位的编码,unicode 是16位,当然不一样啦