解码base64 utf-8 string java

时间:2017-06-16 11:25:33

标签: java string utf-8 base64

我有这个字符串

"=?UTF-8?B?VGLNBGNDQA==?="

在标准java String中解码。 我写了这个快速而肮脏的主要来获取字符串,但我有麻烦

String s = "=?UTF-8?B?VGLNBGNDQA==?=";
s = s.split("=\\?UTF-8\\?B\\?")[1].split("\\?=")[0];
System.out.println(s);
byte[] decoded = Base64.getDecoder().decode(s);
String x = new String(decoded, "UTF8");
System.out.println(decoded);
System.out.println(x);

它实际上是在打印一个奇怪的字符串

"Tb�cC@"

我不知道编码字符串背后的文字是什么,但我可以假设我的程序有效,因为我可以毫无问题地转换任何其他编码字符串,例如

"=?UTF-8?B?SGlfR3V5cyE="

那是" Hi_Guys!"。

我应该假设字符串格式不正确吗?

0 个答案:

没有答案