What is the default character encoding of the Android system? Which Charset is used?
Asked
Active
Viewed 3.5k times
39
Maarten Bodewes
- 84,836
- 13
- 136
- 244
Arutha
- 25,280
- 26
- 65
- 80
1 Answers
56
The default character encoding for Android is UTF-8, as specified by the JavaDoc of the Charset.defaultCharset() method. It can be validated by calling that same method.
Joachim Sauer
- 291,719
- 55
- 540
- 600
pgsandstrom
- 14,093
- 12
- 69
- 104
-
3Fortunately, you don't need to run a program to verify it's UTF-8. The documentation for that method states it outright: http://developer.android.com/reference/java/nio/charset/Charset.html#defaultCharset() – Jay Lieske Jan 18 '14 at 18:12
-
2@JayLieske If you want UTF-8 you're still better off by [indicating the encoding directly](https://developer.android.com/reference/java/nio/charset/StandardCharsets.html#UTF_8). That makes the code more portable, and it would protect you against changes of the Android system. – Maarten Bodewes Aug 06 '14 at 12:03
-
3Actually the android developper website says that String objects are using UTF-16, so what do we mean by android default encoding ? the encoding used in strings for applications or something else ? – Virus721 Apr 30 '15 at 15:15
-
1@pgsandstrom Where do you see default mentioned as UTF-8? The provided link doesn't say that! – rpattabi Aug 15 '16 at 23:29
-
@Virus721 actually strings are Unicode UTF-16 is a character encoding, just like UTF-8 or ASCII. There is an explicit process for converting bytes into the language's String type: the encoding. – escape-llc Oct 12 '16 at 12:10
-
2provided link now tells that `defaultCharset` > Android note: The Android platform default is always UTF-8. – xAqweRx May 09 '17 at 12:37