我建议使用字符串的成员,但 使用显式编码 :
byte[] bytes = text.getBytes("UTF-8");String text = new String(bytes, "UTF-8");通过使用一种显式编码(以及一种支持所有Unipre的编码),您可以避免仅调用
text.getBytes()等问题:
- 您正在明确地使用特定的编码,因此您知道以后使用哪种编码,而不是依赖于平台默认值。
- 您知道它将支持所有Unipre(而不是ISO-Latin-1)。
编辑:即使UTF-8是Android上的默认编码,我也绝对会对此明确。例如,此问题仅说“在Java或Android中”-因此该代码很可能最终会在其他平台上使用。
基本上,鉴于普通的Java平台 可以 具有不同的默认编码,我认为最好是绝对明确的。我已经看到太多的人使用默认编码并丢失数据来冒这种风险。
编辑:匆忙中,我忘了提到您不必使用编码的 名称 -您可以
Charset改用。我 真的 会用番石榴: __
byte[] bytes = text.getBytes(Charsets.UTF_8);String text = new String(bytes, Charsets.UTF_8);



