如何让字符串Стек
看起来像%D0%A1%D1%82%D0%B5%D0%BA
?它是哪种编码?我怎么能用Java做到这一点?我以为是UTF-8
:
String myString = "Стек";
byte text[] = myString.getBytes();
String value = new String(text, "UTF-8");
System.out.println(value);
但不,我的输出中有Стек
。
答案 0 :(得分:2)
您可以使用URLEncoder
类将String
转换为百分比编码:
import java.net.URLEncoder;
System.out.println(URLEncoder.encode("Стек", "utf-8"));
您还需要抓住UnsupportedEncodingException
。
答案 1 :(得分:2)
它不是UTF-8,它是类似URL的编码,您可以使用URLEncoder
类来获取它:
String encoded = URLEncoder.encode("Стек");
System.out.println(encoded);
结果:
%D0%A1%D1%82%D0%B5%D0%BA
答案 2 :(得分:2)
您展示的文字是Percent encoded或网址编码。
您可以使用URLEncoder
将其转换为所需的格式:
String value = URLEncoder.encode("Стек", "ISO-8859-1");