SharedPreferences是否使用某个字符集?

时间:2014-04-10 21:43:53

标签: android android-preferences

我刚刚注意到SharedPreferences在存储字符串时会删除回车符(\ r \ n)。由于我不知道这个是非常昂贵的,我想知道它是否删除任何其他字符。换句话说,它是否使用某个字符集。

SharedPreferences sp = activity.getSharedPreferences("preferences", Context.MODE_PRIVATE);
sp.edit().putString("Foo", "\r\nfoo").commit();

//After restarting the app
SharedPreferences sp = activity.getSharedPreferences("preferences", Context.MODE_PRIVATE);
String sFoo= sp.getString("Foo", ""); //returns "\nfoo", not "\r\nfoo"

2 个答案:

答案 0 :(得分:2)

早上好,

甚至最糟糕的是:如果将字符串“\ _”存储到SharedPref中,则在终止应用程序后,SharedPref中的值将变为“\ n”。

来自我们心爱的Android平台的另一个错误,非常烦人......

干杯

答案 1 :(得分:1)

  

换句话说,它是否使用某个字符集。

When you write your SharedPreferences to the disk,它使用XmlUtils.writeMapXml,在UTF-8输出。