IOS中RSA加密之后,后台解出来前面有乱码怎么解决
1个回答
展开全部
这个问题不是加密和解密的事件,而是没能正确地使用相同的字符集编码。
加密之前就应该约定双方使用同一个字符集编码来做编解码,比如用 UTF8,我们在用一个 byte[] 创建一个 String 时应该明确地指定字符集编码而不能使用默认值,因此默认值是跟操作系统或程序启动时的命令行有依赖关系的,这很难预料谁会使用你的程序,又会如何使用你的程序,我们明确地指定字符集就不会受此影响。
String a = "汉字“
byte[] bytes = a.getBytes("UTF8");
byte[] encoded = encode(bytes);
byte[] decoded = decode(encoded);
String received = new String(decoded, "UTF8");
加密之前就应该约定双方使用同一个字符集编码来做编解码,比如用 UTF8,我们在用一个 byte[] 创建一个 String 时应该明确地指定字符集编码而不能使用默认值,因此默认值是跟操作系统或程序启动时的命令行有依赖关系的,这很难预料谁会使用你的程序,又会如何使用你的程序,我们明确地指定字符集就不会受此影响。
String a = "汉字“
byte[] bytes = a.getBytes("UTF8");
byte[] encoded = encode(bytes);
byte[] decoded = decode(encoded);
String received = new String(decoded, "UTF8");
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |