林子洋*_*林子洋 7 java android encode utf-8
我无法在Android中将String转换为UTF-8.请帮我!!
s1=URLEncoder.encode("???")
Run Code Online (Sandbox Code Playgroud)
结果: %EF%BF%BDO%EF%BF%BD_%EF%BF%BD%EF%BF%BD
但" ???"应编码为" %E8%87%BA%E5%8C%97%E5%B8%82"
son*_*nic 13
在http://developer.android.com/reference/java/net/URLEncoder.html中,您可以读到您使用的已弃用且您应该使用static String encode(String s, String charsetName)
所以URLEncoder.encode("???", "utf-8")应该做的伎俩.
小智 10
public class StringFormatter {
// convert UTF-8 to internal Java String format
public static String convertUTF8ToString(String s) {
String out = null;
try {
out = new String(s.getBytes("ISO-8859-1"), "UTF-8");
} catch (java.io.UnsupportedEncodingException e) {
return null;
}
return out;
}
// convert internal Java String format to UTF-8
public static String convertStringToUTF8(String s) {
String out = null;
try {
out = new String(s.getBytes("UTF-8"), "ISO-8859-1");
} catch (java.io.UnsupportedEncodingException e) {
return null;
}
return out;
}
}
Run Code Online (Sandbox Code Playgroud)
您可以使用StringFormatter类将字符串转换为您的代码.
您想要转换为UTF-8:
String normal="This normal string".
String utf=StringFormatter.convertStringToUTF8(normal);
Run Code Online (Sandbox Code Playgroud)
您想将UTF-8转换为普通格式:
String normal=StringFormatter.convertUTF8ToString(normal);
Run Code Online (Sandbox Code Playgroud)
你可以使用,
URLEncoder.encode(string, "UTF-8");
Run Code Online (Sandbox Code Playgroud)
这将编码您的"字符串:UTF-8格式.
将它放在try/catch中,如果需要,检查IllegalArgumentException.如果您的字符串中有任何空格,请将其替换为
string.replace(" ", "%20");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
46873 次 |
| 最近记录: |