我从客户端获得加密的网络服务,但它有类似“Ó”的文字。 (故意空间)
我试过用:
new String(string.getBytes(), Charset.forName("UTF-8")));
new String(string.getBytes("UTF-8"), Charset.forName("UTF-8")));
new String(s.getBytes("ISO-8859-1"), "UTF-8")
new String(s.getBytes("UTF-8"), "ISO-8859-1")
我不知道这里发生了什么。这是我第一次遇到utf-8问题。
抱歉我的英语。
答案 0 :(得分:1)
您可能正在接收加密字节,而不是字符串。并非所有8位字节数组都可以转换为unicode字符串。告诉我的方法是以十六进制格式记录接收的字节并检查它们。
但好消息是,不要尝试将字节转换为字符串,只需将字节数组付给解密函数。