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是文本->二进制转换。您正在寻找文本->文本转换。