微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

java – 字符串解码utf-8

我如何解码一个utf-8字符串在 android?我尝试使用这个命令,但输出相同的输入:
URLDecoder.decode("hello&//à","UTF-8");

new String("hello&//à","UTF-8");

EntityUtils.toString("hello&//à","utf-8");

解决方法

字符串不需要编码.这只是一个Unicode字符序列.

当您想将String转换成一个字节序列时,需要进行编码.您选择的字符集(UTF-8,cp1255等)确定字符>字节映射.请注意,字符不一定被翻译成单个字节.在大多数字符集中,大多数Unicode字符被转换为至少两个字节.

字符串的编码是通过以下方式执行的:

String s1 = "some text";
byte[] bytes = s1.getBytes("UTF-8"); // Charset to encode into

当您有字节序列时,您需要进行解码,并将其转换为字符串.当你需要再次指定该字符串最初被编码的字符集(否则你最终会使用garblеdtеxt).

解码:

String s2 = new String(bytes,"UTF-8"); // Charset with which bytes were encoded

如果你想更好地理解这个,一个伟大的文本是“The Absolute Minimum Every Software Developer Absolutely,Positively Must Know About Unicode and Character Sets (No Excuses!)

原文地址:https://www.jb51.cc/java/123338.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐