读书人

vs2003跟2010 UNICODE字体编码格式不一

发布时间: 2013-11-02 19:41:10 作者: rapoo

vs2003和2010 UNICODE字体编码格式不一样?
03中通过UnicodeEncoding的GetString方法将一组签名后的byte[],转成string,然后服务端通过UnicodeEncoding的GetBytes将string转成byte[],进行验证没问题;
同样在2010中,服务端同样方将string转成byte[],和签名后没有通过UnicodeEncoding的GetString转成string之前的byte[]不一致,导致验证一直不通过,什么原因呢?
framework1.0和2.0之后的Unicode编码不是一个东西吗?
[解决办法]
byte[]转Unicode(UTF-16)是不安全的,原因是有些byte组合不是合法的字符。
byte[]转字符串要用Convert.ToBase64String和Convert.FromBase64String.

读书人网 >C#

热点推荐