我有这个字符串
"=?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!"。
我应该假设字符串格式不正确吗?