Java的编码问题

Java的编码问题,java,encoding,utf-8,Java,Encoding,Utf 8,我如何使字符串ССССССïimk_看起来像%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); 但是没有,我在输出中有ССццц。您可以使用该类将字符串转换为百分比编码:

我如何使字符串
ССССССïimk_
看起来像
%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);
但是没有,我在输出中有
ССццц

您可以使用该类将
字符串
转换为百分比编码:

import java.net.URLEncoder;

System.out.println(URLEncoder.encode("Стек", "utf-8"));
您还需要捕获
不支持的编码异常

您可以使用该类将
字符串
转换为百分比编码:

import java.net.URLEncoder;

System.out.println(URLEncoder.encode("Стек", "utf-8"));

您还需要捕获
不支持的编码异常

它不是UTF-8,它是类似URL的编码,您可以使用
URLCoder
类获取它:

String encoded = URLEncoder.encode("Стек");
System.out.println(encoded);
结果:

%D0%A1%D1%82%D0%B5%D0%BA

它不是UTF-8,它是类似URL的编码,您可以使用
urlcoder
类获得它:

String encoded = URLEncoder.encode("Стек");
System.out.println(encoded);
结果:

%D0%A1%D1%82%D0%B5%D0%BA

您显示的文本是或URL编码的

您可以使用它转换为所需格式:

String value = URLEncoder.encode("Стек", "ISO-8859-1");

您显示的文本是或URL编码的

您可以使用将其转换为所需格式:

String value = URLEncoder.encode("Стек", "ISO-8859-1");

看起来像是URL编码。注意,UTF-8是文本->二进制转换。你正在寻找一个文本->文本转换。在我看来像URL编码。注意,UTF-8是文本->二进制转换。您正在寻找文本->文本转换。